diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e02dbbc2..f681d883 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,47 +24,58 @@ jobs: - name: Check out code uses: actions/checkout@v2 - - name: Check licenses - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: make license-check - - - name: Run verification - run: make check +# - name: Check licenses +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# run: make license-check +# +# - name: Run verification +# run: make check - name: Build Docker image run: make docker - lint_chart: - name: Lint Helm Chart - runs-on: ubuntu-latest - steps: - - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: "0" - submodules: true - - - name: Replace version - id: replace_version - run: find . -type f -name "values.yaml" -o -name "Chart.yaml" | - xargs sed -i -e s/latest/v1.0.0-${{ github.sha }}/g - - - name: Set up Helm - uses: azure/setup-helm@v1 - with: - version: v3.4.0 - - - uses: actions/setup-python@v2 - with: - python-version: 3.7 - - - name: Set up chart-testing - uses: helm/chart-testing-action@v2.1.0 - - - name: Add Bitnami Repository - run: helm repo add bitnami https://charts.bitnami.com/bitnami - - - name: Run chart-testing (lint) - run: ct lint --check-version-increment=false --validate-maintainers=false + - name: Edit values.yaml + id: edit_values + run: | + tag=${{ github.sha }} + sed -i 's/latest/'"$tag"'/g' charts/apiclarity/values.yaml + sed -i 's/Always/IfNotPresent/g' charts/apiclarity/values.yaml + cat charts/apiclarity/values.yaml + + - name: Run e2e tests + run: make e2e + +# lint_chart: +# name: Lint Helm Chart +# runs-on: ubuntu-latest +# steps: +# +# - name: Checkout code +# uses: actions/checkout@v2 +# with: +# fetch-depth: "0" +# submodules: true +# +# - name: Replace version +# id: replace_version +# run: find . -type f -name "values.yaml" -o -name "Chart.yaml" | +# xargs sed -i -e s/latest/v1.0.0-${{ github.sha }}/g +# +# - name: Set up Helm +# uses: azure/setup-helm@v1 +# with: +# version: v3.4.0 +# +# - uses: actions/setup-python@v2 +# with: +# python-version: 3.7 +# +# - name: Set up chart-testing +# uses: helm/chart-testing-action@v2.1.0 +# +# - name: Add Bitnami Repository +# run: helm repo add bitnami https://charts.bitnami.com/bitnami +# +# - name: Run chart-testing (lint) +# run: ct lint --check-version-increment=false --validate-maintainers=false diff --git a/Makefile b/Makefile index a9bd23ad..ffa99893 100644 --- a/Makefile +++ b/Makefile @@ -134,4 +134,9 @@ license-cache: bin/licensei ## Generate license cache bin/licensei cache .PHONY: check -check: lint test ## Run tests and linters \ No newline at end of file +check: lint test ## Run tests and linters + +.PHONY: e2e +e2e: + @echo "Running e2e tests ..." + cd e2e && export DOCKER_TAG=${DOCKER_TAG} && go test . diff --git a/api/client/client/api_clarity_a_p_is_client.go b/api/client/client/api_clarity_a_p_is_client.go new file mode 100644 index 00000000..25d90285 --- /dev/null +++ b/api/client/client/api_clarity_a_p_is_client.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package client + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "github.com/apiclarity/apiclarity/api/client/client/operations" + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// Default API clarity a p is HTTP client. +var Default = NewHTTPClient(nil) + +const ( + // DefaultHost is the default Host + // found in Meta (info) section of spec file + DefaultHost string = "localhost" + // DefaultBasePath is the default BasePath + // found in Meta (info) section of spec file + DefaultBasePath string = "/api" +) + +// DefaultSchemes are the default schemes found in Meta (info) section of spec file +var DefaultSchemes = []string{"http"} + +// NewHTTPClient creates a new API clarity a p is HTTP client. +func NewHTTPClient(formats strfmt.Registry) *APIClarityAPIs { + return NewHTTPClientWithConfig(formats, nil) +} + +// NewHTTPClientWithConfig creates a new API clarity a p is HTTP client, +// using a customizable transport config. +func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *APIClarityAPIs { + // ensure nullable parameters have default + if cfg == nil { + cfg = DefaultTransportConfig() + } + + // create transport and client + transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes) + return New(transport, formats) +} + +// New creates a new API clarity a p is client +func New(transport runtime.ClientTransport, formats strfmt.Registry) *APIClarityAPIs { + // ensure nullable parameters have default + if formats == nil { + formats = strfmt.Default + } + + cli := new(APIClarityAPIs) + cli.Transport = transport + cli.Operations = operations.New(transport, formats) + return cli +} + +// DefaultTransportConfig creates a TransportConfig with the +// default settings taken from the meta section of the spec file. +func DefaultTransportConfig() *TransportConfig { + return &TransportConfig{ + Host: DefaultHost, + BasePath: DefaultBasePath, + Schemes: DefaultSchemes, + } +} + +// TransportConfig contains the transport related info, +// found in the meta section of the spec file. +type TransportConfig struct { + Host string + BasePath string + Schemes []string +} + +// WithHost overrides the default host, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithHost(host string) *TransportConfig { + cfg.Host = host + return cfg +} + +// WithBasePath overrides the default basePath, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig { + cfg.BasePath = basePath + return cfg +} + +// WithSchemes overrides the default schemes, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig { + cfg.Schemes = schemes + return cfg +} + +// APIClarityAPIs is a client for API clarity a p is +type APIClarityAPIs struct { + Operations operations.ClientService + + Transport runtime.ClientTransport +} + +// SetTransport changes the transport on the client and all its subresources +func (c *APIClarityAPIs) SetTransport(transport runtime.ClientTransport) { + c.Transport = transport + c.Operations.SetTransport(transport) +} diff --git a/api/client/client/operations/delete_api_inventory_api_id_specs_provided_spec_parameters.go b/api/client/client/operations/delete_api_inventory_api_id_specs_provided_spec_parameters.go new file mode 100644 index 00000000..25e49c11 --- /dev/null +++ b/api/client/client/operations/delete_api_inventory_api_id_specs_provided_spec_parameters.go @@ -0,0 +1,149 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParams creates a new DeleteAPIInventoryAPIIDSpecsProvidedSpecParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParams() *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + return &DeleteAPIInventoryAPIIDSpecsProvidedSpecParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParamsWithTimeout creates a new DeleteAPIInventoryAPIIDSpecsProvidedSpecParams object +// with the ability to set a timeout on a request. +func NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParamsWithTimeout(timeout time.Duration) *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + return &DeleteAPIInventoryAPIIDSpecsProvidedSpecParams{ + timeout: timeout, + } +} + +// NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParamsWithContext creates a new DeleteAPIInventoryAPIIDSpecsProvidedSpecParams object +// with the ability to set a context for a request. +func NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParamsWithContext(ctx context.Context) *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + return &DeleteAPIInventoryAPIIDSpecsProvidedSpecParams{ + Context: ctx, + } +} + +// NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParamsWithHTTPClient creates a new DeleteAPIInventoryAPIIDSpecsProvidedSpecParams object +// with the ability to set a custom HTTPClient for a request. +func NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParamsWithHTTPClient(client *http.Client) *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + return &DeleteAPIInventoryAPIIDSpecsProvidedSpecParams{ + HTTPClient: client, + } +} + +/* DeleteAPIInventoryAPIIDSpecsProvidedSpecParams contains all the parameters to send to the API endpoint + for the delete API inventory API ID specs provided spec operation. + + Typically these are written to a http.Request. +*/ +type DeleteAPIInventoryAPIIDSpecsProvidedSpecParams struct { + + // APIID. + // + // Format: uint32 + APIID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the delete API inventory API ID specs provided spec params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) WithDefaults() *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the delete API inventory API ID specs provided spec params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the delete API inventory API ID specs provided spec params +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) WithTimeout(timeout time.Duration) *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the delete API inventory API ID specs provided spec params +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the delete API inventory API ID specs provided spec params +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) WithContext(ctx context.Context) *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the delete API inventory API ID specs provided spec params +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the delete API inventory API ID specs provided spec params +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) WithHTTPClient(client *http.Client) *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the delete API inventory API ID specs provided spec params +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAPIID adds the aPIID to the delete API inventory API ID specs provided spec params +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) WithAPIID(aPIID uint32) *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetAPIID(aPIID) + return o +} + +// SetAPIID adds the apiId to the delete API inventory API ID specs provided spec params +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) SetAPIID(aPIID uint32) { + o.APIID = aPIID +} + +// WriteToRequest writes these params to a swagger request +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param apiId + if err := r.SetPathParam("apiId", swag.FormatUint32(o.APIID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/delete_api_inventory_api_id_specs_provided_spec_responses.go b/api/client/client/operations/delete_api_inventory_api_id_specs_provided_spec_responses.go new file mode 100644 index 00000000..b50e2850 --- /dev/null +++ b/api/client/client/operations/delete_api_inventory_api_id_specs_provided_spec_responses.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// DeleteAPIInventoryAPIIDSpecsProvidedSpecReader is a Reader for the DeleteAPIInventoryAPIIDSpecsProvidedSpec structure. +type DeleteAPIInventoryAPIIDSpecsProvidedSpecReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewDeleteAPIInventoryAPIIDSpecsProvidedSpecOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewDeleteAPIInventoryAPIIDSpecsProvidedSpecDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewDeleteAPIInventoryAPIIDSpecsProvidedSpecOK creates a DeleteAPIInventoryAPIIDSpecsProvidedSpecOK with default headers values +func NewDeleteAPIInventoryAPIIDSpecsProvidedSpecOK() *DeleteAPIInventoryAPIIDSpecsProvidedSpecOK { + return &DeleteAPIInventoryAPIIDSpecsProvidedSpecOK{} +} + +/* DeleteAPIInventoryAPIIDSpecsProvidedSpecOK describes a response with status code 200, with default header values. + +Success +*/ +type DeleteAPIInventoryAPIIDSpecsProvidedSpecOK struct { + Payload interface{} +} + +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecOK) Error() string { + return fmt.Sprintf("[DELETE /apiInventory/{apiId}/specs/providedSpec][%d] deleteApiInventoryApiIdSpecsProvidedSpecOK %+v", 200, o.Payload) +} +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecOK) GetPayload() interface{} { + return o.Payload +} + +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewDeleteAPIInventoryAPIIDSpecsProvidedSpecDefault creates a DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault with default headers values +func NewDeleteAPIInventoryAPIIDSpecsProvidedSpecDefault(code int) *DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault { + return &DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault{ + _statusCode: code, + } +} + +/* DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the delete API inventory API ID specs provided spec default response +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault) Code() int { + return o._statusCode +} + +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault) Error() string { + return fmt.Sprintf("[DELETE /apiInventory/{apiId}/specs/providedSpec][%d] DeleteAPIInventoryAPIIDSpecsProvidedSpec default %+v", o._statusCode, o.Payload) +} +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/delete_api_inventory_api_id_specs_reconstructed_spec_parameters.go b/api/client/client/operations/delete_api_inventory_api_id_specs_reconstructed_spec_parameters.go new file mode 100644 index 00000000..14c0c891 --- /dev/null +++ b/api/client/client/operations/delete_api_inventory_api_id_specs_reconstructed_spec_parameters.go @@ -0,0 +1,149 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParams creates a new DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParams() *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + return &DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParamsWithTimeout creates a new DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams object +// with the ability to set a timeout on a request. +func NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParamsWithTimeout(timeout time.Duration) *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + return &DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams{ + timeout: timeout, + } +} + +// NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParamsWithContext creates a new DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams object +// with the ability to set a context for a request. +func NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParamsWithContext(ctx context.Context) *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + return &DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams{ + Context: ctx, + } +} + +// NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParamsWithHTTPClient creates a new DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams object +// with the ability to set a custom HTTPClient for a request. +func NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParamsWithHTTPClient(client *http.Client) *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + return &DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams{ + HTTPClient: client, + } +} + +/* DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams contains all the parameters to send to the API endpoint + for the delete API inventory API ID specs reconstructed spec operation. + + Typically these are written to a http.Request. +*/ +type DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams struct { + + // APIID. + // + // Format: uint32 + APIID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the delete API inventory API ID specs reconstructed spec params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) WithDefaults() *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the delete API inventory API ID specs reconstructed spec params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the delete API inventory API ID specs reconstructed spec params +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) WithTimeout(timeout time.Duration) *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the delete API inventory API ID specs reconstructed spec params +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the delete API inventory API ID specs reconstructed spec params +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) WithContext(ctx context.Context) *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the delete API inventory API ID specs reconstructed spec params +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the delete API inventory API ID specs reconstructed spec params +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) WithHTTPClient(client *http.Client) *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the delete API inventory API ID specs reconstructed spec params +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAPIID adds the aPIID to the delete API inventory API ID specs reconstructed spec params +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) WithAPIID(aPIID uint32) *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams { + o.SetAPIID(aPIID) + return o +} + +// SetAPIID adds the apiId to the delete API inventory API ID specs reconstructed spec params +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) SetAPIID(aPIID uint32) { + o.APIID = aPIID +} + +// WriteToRequest writes these params to a swagger request +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param apiId + if err := r.SetPathParam("apiId", swag.FormatUint32(o.APIID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/delete_api_inventory_api_id_specs_reconstructed_spec_responses.go b/api/client/client/operations/delete_api_inventory_api_id_specs_reconstructed_spec_responses.go new file mode 100644 index 00000000..0873ac22 --- /dev/null +++ b/api/client/client/operations/delete_api_inventory_api_id_specs_reconstructed_spec_responses.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// DeleteAPIInventoryAPIIDSpecsReconstructedSpecReader is a Reader for the DeleteAPIInventoryAPIIDSpecsReconstructedSpec structure. +type DeleteAPIInventoryAPIIDSpecsReconstructedSpecReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecOK creates a DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK with default headers values +func NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecOK() *DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK { + return &DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK{} +} + +/* DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK describes a response with status code 200, with default header values. + +Success +*/ +type DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK struct { + Payload interface{} +} + +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK) Error() string { + return fmt.Sprintf("[DELETE /apiInventory/{apiId}/specs/reconstructedSpec][%d] deleteApiInventoryApiIdSpecsReconstructedSpecOK %+v", 200, o.Payload) +} +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK) GetPayload() interface{} { + return o.Payload +} + +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault creates a DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault with default headers values +func NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault(code int) *DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault { + return &DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault{ + _statusCode: code, + } +} + +/* DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the delete API inventory API ID specs reconstructed spec default response +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault) Code() int { + return o._statusCode +} + +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault) Error() string { + return fmt.Sprintf("[DELETE /apiInventory/{apiId}/specs/reconstructedSpec][%d] DeleteAPIInventoryAPIIDSpecsReconstructedSpec default %+v", o._statusCode, o.Payload) +} +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_api_events_event_id_parameters.go b/api/client/client/operations/get_api_events_event_id_parameters.go new file mode 100644 index 00000000..13cff1e3 --- /dev/null +++ b/api/client/client/operations/get_api_events_event_id_parameters.go @@ -0,0 +1,152 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIEventsEventIDParams creates a new GetAPIEventsEventIDParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIEventsEventIDParams() *GetAPIEventsEventIDParams { + return &GetAPIEventsEventIDParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIEventsEventIDParamsWithTimeout creates a new GetAPIEventsEventIDParams object +// with the ability to set a timeout on a request. +func NewGetAPIEventsEventIDParamsWithTimeout(timeout time.Duration) *GetAPIEventsEventIDParams { + return &GetAPIEventsEventIDParams{ + timeout: timeout, + } +} + +// NewGetAPIEventsEventIDParamsWithContext creates a new GetAPIEventsEventIDParams object +// with the ability to set a context for a request. +func NewGetAPIEventsEventIDParamsWithContext(ctx context.Context) *GetAPIEventsEventIDParams { + return &GetAPIEventsEventIDParams{ + Context: ctx, + } +} + +// NewGetAPIEventsEventIDParamsWithHTTPClient creates a new GetAPIEventsEventIDParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIEventsEventIDParamsWithHTTPClient(client *http.Client) *GetAPIEventsEventIDParams { + return &GetAPIEventsEventIDParams{ + HTTPClient: client, + } +} + +/* GetAPIEventsEventIDParams contains all the parameters to send to the API endpoint + for the get API events event ID operation. + + Typically these are written to a http.Request. +*/ +type GetAPIEventsEventIDParams struct { + + /* EventID. + + API event ID + + Format: uint32 + */ + EventID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API events event ID params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIEventsEventIDParams) WithDefaults() *GetAPIEventsEventIDParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API events event ID params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIEventsEventIDParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get API events event ID params +func (o *GetAPIEventsEventIDParams) WithTimeout(timeout time.Duration) *GetAPIEventsEventIDParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API events event ID params +func (o *GetAPIEventsEventIDParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API events event ID params +func (o *GetAPIEventsEventIDParams) WithContext(ctx context.Context) *GetAPIEventsEventIDParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API events event ID params +func (o *GetAPIEventsEventIDParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API events event ID params +func (o *GetAPIEventsEventIDParams) WithHTTPClient(client *http.Client) *GetAPIEventsEventIDParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API events event ID params +func (o *GetAPIEventsEventIDParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithEventID adds the eventID to the get API events event ID params +func (o *GetAPIEventsEventIDParams) WithEventID(eventID uint32) *GetAPIEventsEventIDParams { + o.SetEventID(eventID) + return o +} + +// SetEventID adds the eventId to the get API events event ID params +func (o *GetAPIEventsEventIDParams) SetEventID(eventID uint32) { + o.EventID = eventID +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIEventsEventIDParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param eventId + if err := r.SetPathParam("eventId", swag.FormatUint32(o.EventID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_api_events_event_id_provided_spec_diff_parameters.go b/api/client/client/operations/get_api_events_event_id_provided_spec_diff_parameters.go new file mode 100644 index 00000000..a5b097e2 --- /dev/null +++ b/api/client/client/operations/get_api_events_event_id_provided_spec_diff_parameters.go @@ -0,0 +1,152 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIEventsEventIDProvidedSpecDiffParams creates a new GetAPIEventsEventIDProvidedSpecDiffParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIEventsEventIDProvidedSpecDiffParams() *GetAPIEventsEventIDProvidedSpecDiffParams { + return &GetAPIEventsEventIDProvidedSpecDiffParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIEventsEventIDProvidedSpecDiffParamsWithTimeout creates a new GetAPIEventsEventIDProvidedSpecDiffParams object +// with the ability to set a timeout on a request. +func NewGetAPIEventsEventIDProvidedSpecDiffParamsWithTimeout(timeout time.Duration) *GetAPIEventsEventIDProvidedSpecDiffParams { + return &GetAPIEventsEventIDProvidedSpecDiffParams{ + timeout: timeout, + } +} + +// NewGetAPIEventsEventIDProvidedSpecDiffParamsWithContext creates a new GetAPIEventsEventIDProvidedSpecDiffParams object +// with the ability to set a context for a request. +func NewGetAPIEventsEventIDProvidedSpecDiffParamsWithContext(ctx context.Context) *GetAPIEventsEventIDProvidedSpecDiffParams { + return &GetAPIEventsEventIDProvidedSpecDiffParams{ + Context: ctx, + } +} + +// NewGetAPIEventsEventIDProvidedSpecDiffParamsWithHTTPClient creates a new GetAPIEventsEventIDProvidedSpecDiffParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIEventsEventIDProvidedSpecDiffParamsWithHTTPClient(client *http.Client) *GetAPIEventsEventIDProvidedSpecDiffParams { + return &GetAPIEventsEventIDProvidedSpecDiffParams{ + HTTPClient: client, + } +} + +/* GetAPIEventsEventIDProvidedSpecDiffParams contains all the parameters to send to the API endpoint + for the get API events event ID provided spec diff operation. + + Typically these are written to a http.Request. +*/ +type GetAPIEventsEventIDProvidedSpecDiffParams struct { + + /* EventID. + + API event ID + + Format: uint32 + */ + EventID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API events event ID provided spec diff params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) WithDefaults() *GetAPIEventsEventIDProvidedSpecDiffParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API events event ID provided spec diff params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get API events event ID provided spec diff params +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) WithTimeout(timeout time.Duration) *GetAPIEventsEventIDProvidedSpecDiffParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API events event ID provided spec diff params +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API events event ID provided spec diff params +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) WithContext(ctx context.Context) *GetAPIEventsEventIDProvidedSpecDiffParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API events event ID provided spec diff params +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API events event ID provided spec diff params +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) WithHTTPClient(client *http.Client) *GetAPIEventsEventIDProvidedSpecDiffParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API events event ID provided spec diff params +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithEventID adds the eventID to the get API events event ID provided spec diff params +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) WithEventID(eventID uint32) *GetAPIEventsEventIDProvidedSpecDiffParams { + o.SetEventID(eventID) + return o +} + +// SetEventID adds the eventId to the get API events event ID provided spec diff params +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) SetEventID(eventID uint32) { + o.EventID = eventID +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIEventsEventIDProvidedSpecDiffParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param eventId + if err := r.SetPathParam("eventId", swag.FormatUint32(o.EventID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_api_events_event_id_provided_spec_diff_responses.go b/api/client/client/operations/get_api_events_event_id_provided_spec_diff_responses.go new file mode 100644 index 00000000..dca484e0 --- /dev/null +++ b/api/client/client/operations/get_api_events_event_id_provided_spec_diff_responses.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIEventsEventIDProvidedSpecDiffReader is a Reader for the GetAPIEventsEventIDProvidedSpecDiff structure. +type GetAPIEventsEventIDProvidedSpecDiffReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIEventsEventIDProvidedSpecDiffReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIEventsEventIDProvidedSpecDiffOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIEventsEventIDProvidedSpecDiffDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIEventsEventIDProvidedSpecDiffOK creates a GetAPIEventsEventIDProvidedSpecDiffOK with default headers values +func NewGetAPIEventsEventIDProvidedSpecDiffOK() *GetAPIEventsEventIDProvidedSpecDiffOK { + return &GetAPIEventsEventIDProvidedSpecDiffOK{} +} + +/* GetAPIEventsEventIDProvidedSpecDiffOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIEventsEventIDProvidedSpecDiffOK struct { + Payload *models.APIEventSpecDiff +} + +func (o *GetAPIEventsEventIDProvidedSpecDiffOK) Error() string { + return fmt.Sprintf("[GET /apiEvents/{eventId}/providedSpecDiff][%d] getApiEventsEventIdProvidedSpecDiffOK %+v", 200, o.Payload) +} +func (o *GetAPIEventsEventIDProvidedSpecDiffOK) GetPayload() *models.APIEventSpecDiff { + return o.Payload +} + +func (o *GetAPIEventsEventIDProvidedSpecDiffOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIEventSpecDiff) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIEventsEventIDProvidedSpecDiffDefault creates a GetAPIEventsEventIDProvidedSpecDiffDefault with default headers values +func NewGetAPIEventsEventIDProvidedSpecDiffDefault(code int) *GetAPIEventsEventIDProvidedSpecDiffDefault { + return &GetAPIEventsEventIDProvidedSpecDiffDefault{ + _statusCode: code, + } +} + +/* GetAPIEventsEventIDProvidedSpecDiffDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIEventsEventIDProvidedSpecDiffDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API events event ID provided spec diff default response +func (o *GetAPIEventsEventIDProvidedSpecDiffDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIEventsEventIDProvidedSpecDiffDefault) Error() string { + return fmt.Sprintf("[GET /apiEvents/{eventId}/providedSpecDiff][%d] GetAPIEventsEventIDProvidedSpecDiff default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIEventsEventIDProvidedSpecDiffDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIEventsEventIDProvidedSpecDiffDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_api_events_event_id_reconstructed_spec_diff_parameters.go b/api/client/client/operations/get_api_events_event_id_reconstructed_spec_diff_parameters.go new file mode 100644 index 00000000..b1d8f308 --- /dev/null +++ b/api/client/client/operations/get_api_events_event_id_reconstructed_spec_diff_parameters.go @@ -0,0 +1,152 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIEventsEventIDReconstructedSpecDiffParams creates a new GetAPIEventsEventIDReconstructedSpecDiffParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIEventsEventIDReconstructedSpecDiffParams() *GetAPIEventsEventIDReconstructedSpecDiffParams { + return &GetAPIEventsEventIDReconstructedSpecDiffParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIEventsEventIDReconstructedSpecDiffParamsWithTimeout creates a new GetAPIEventsEventIDReconstructedSpecDiffParams object +// with the ability to set a timeout on a request. +func NewGetAPIEventsEventIDReconstructedSpecDiffParamsWithTimeout(timeout time.Duration) *GetAPIEventsEventIDReconstructedSpecDiffParams { + return &GetAPIEventsEventIDReconstructedSpecDiffParams{ + timeout: timeout, + } +} + +// NewGetAPIEventsEventIDReconstructedSpecDiffParamsWithContext creates a new GetAPIEventsEventIDReconstructedSpecDiffParams object +// with the ability to set a context for a request. +func NewGetAPIEventsEventIDReconstructedSpecDiffParamsWithContext(ctx context.Context) *GetAPIEventsEventIDReconstructedSpecDiffParams { + return &GetAPIEventsEventIDReconstructedSpecDiffParams{ + Context: ctx, + } +} + +// NewGetAPIEventsEventIDReconstructedSpecDiffParamsWithHTTPClient creates a new GetAPIEventsEventIDReconstructedSpecDiffParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIEventsEventIDReconstructedSpecDiffParamsWithHTTPClient(client *http.Client) *GetAPIEventsEventIDReconstructedSpecDiffParams { + return &GetAPIEventsEventIDReconstructedSpecDiffParams{ + HTTPClient: client, + } +} + +/* GetAPIEventsEventIDReconstructedSpecDiffParams contains all the parameters to send to the API endpoint + for the get API events event ID reconstructed spec diff operation. + + Typically these are written to a http.Request. +*/ +type GetAPIEventsEventIDReconstructedSpecDiffParams struct { + + /* EventID. + + API event ID + + Format: uint32 + */ + EventID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API events event ID reconstructed spec diff params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) WithDefaults() *GetAPIEventsEventIDReconstructedSpecDiffParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API events event ID reconstructed spec diff params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get API events event ID reconstructed spec diff params +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) WithTimeout(timeout time.Duration) *GetAPIEventsEventIDReconstructedSpecDiffParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API events event ID reconstructed spec diff params +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API events event ID reconstructed spec diff params +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) WithContext(ctx context.Context) *GetAPIEventsEventIDReconstructedSpecDiffParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API events event ID reconstructed spec diff params +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API events event ID reconstructed spec diff params +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) WithHTTPClient(client *http.Client) *GetAPIEventsEventIDReconstructedSpecDiffParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API events event ID reconstructed spec diff params +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithEventID adds the eventID to the get API events event ID reconstructed spec diff params +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) WithEventID(eventID uint32) *GetAPIEventsEventIDReconstructedSpecDiffParams { + o.SetEventID(eventID) + return o +} + +// SetEventID adds the eventId to the get API events event ID reconstructed spec diff params +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) SetEventID(eventID uint32) { + o.EventID = eventID +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIEventsEventIDReconstructedSpecDiffParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param eventId + if err := r.SetPathParam("eventId", swag.FormatUint32(o.EventID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_api_events_event_id_reconstructed_spec_diff_responses.go b/api/client/client/operations/get_api_events_event_id_reconstructed_spec_diff_responses.go new file mode 100644 index 00000000..9e89ab7b --- /dev/null +++ b/api/client/client/operations/get_api_events_event_id_reconstructed_spec_diff_responses.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIEventsEventIDReconstructedSpecDiffReader is a Reader for the GetAPIEventsEventIDReconstructedSpecDiff structure. +type GetAPIEventsEventIDReconstructedSpecDiffReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIEventsEventIDReconstructedSpecDiffReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIEventsEventIDReconstructedSpecDiffOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIEventsEventIDReconstructedSpecDiffDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIEventsEventIDReconstructedSpecDiffOK creates a GetAPIEventsEventIDReconstructedSpecDiffOK with default headers values +func NewGetAPIEventsEventIDReconstructedSpecDiffOK() *GetAPIEventsEventIDReconstructedSpecDiffOK { + return &GetAPIEventsEventIDReconstructedSpecDiffOK{} +} + +/* GetAPIEventsEventIDReconstructedSpecDiffOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIEventsEventIDReconstructedSpecDiffOK struct { + Payload *models.APIEventSpecDiff +} + +func (o *GetAPIEventsEventIDReconstructedSpecDiffOK) Error() string { + return fmt.Sprintf("[GET /apiEvents/{eventId}/reconstructedSpecDiff][%d] getApiEventsEventIdReconstructedSpecDiffOK %+v", 200, o.Payload) +} +func (o *GetAPIEventsEventIDReconstructedSpecDiffOK) GetPayload() *models.APIEventSpecDiff { + return o.Payload +} + +func (o *GetAPIEventsEventIDReconstructedSpecDiffOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIEventSpecDiff) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIEventsEventIDReconstructedSpecDiffDefault creates a GetAPIEventsEventIDReconstructedSpecDiffDefault with default headers values +func NewGetAPIEventsEventIDReconstructedSpecDiffDefault(code int) *GetAPIEventsEventIDReconstructedSpecDiffDefault { + return &GetAPIEventsEventIDReconstructedSpecDiffDefault{ + _statusCode: code, + } +} + +/* GetAPIEventsEventIDReconstructedSpecDiffDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIEventsEventIDReconstructedSpecDiffDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API events event ID reconstructed spec diff default response +func (o *GetAPIEventsEventIDReconstructedSpecDiffDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIEventsEventIDReconstructedSpecDiffDefault) Error() string { + return fmt.Sprintf("[GET /apiEvents/{eventId}/reconstructedSpecDiff][%d] GetAPIEventsEventIDReconstructedSpecDiff default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIEventsEventIDReconstructedSpecDiffDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIEventsEventIDReconstructedSpecDiffDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_api_events_event_id_responses.go b/api/client/client/operations/get_api_events_event_id_responses.go new file mode 100644 index 00000000..4870c5ba --- /dev/null +++ b/api/client/client/operations/get_api_events_event_id_responses.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIEventsEventIDReader is a Reader for the GetAPIEventsEventID structure. +type GetAPIEventsEventIDReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIEventsEventIDReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIEventsEventIDOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIEventsEventIDDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIEventsEventIDOK creates a GetAPIEventsEventIDOK with default headers values +func NewGetAPIEventsEventIDOK() *GetAPIEventsEventIDOK { + return &GetAPIEventsEventIDOK{} +} + +/* GetAPIEventsEventIDOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIEventsEventIDOK struct { + Payload *models.APIEvent +} + +func (o *GetAPIEventsEventIDOK) Error() string { + return fmt.Sprintf("[GET /apiEvents/{eventId}][%d] getApiEventsEventIdOK %+v", 200, o.Payload) +} +func (o *GetAPIEventsEventIDOK) GetPayload() *models.APIEvent { + return o.Payload +} + +func (o *GetAPIEventsEventIDOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIEvent) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIEventsEventIDDefault creates a GetAPIEventsEventIDDefault with default headers values +func NewGetAPIEventsEventIDDefault(code int) *GetAPIEventsEventIDDefault { + return &GetAPIEventsEventIDDefault{ + _statusCode: code, + } +} + +/* GetAPIEventsEventIDDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIEventsEventIDDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API events event ID default response +func (o *GetAPIEventsEventIDDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIEventsEventIDDefault) Error() string { + return fmt.Sprintf("[GET /apiEvents/{eventId}][%d] GetAPIEventsEventID default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIEventsEventIDDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIEventsEventIDDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_api_events_parameters.go b/api/client/client/operations/get_api_events_parameters.go new file mode 100644 index 00000000..708584c4 --- /dev/null +++ b/api/client/client/operations/get_api_events_parameters.go @@ -0,0 +1,1278 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIEventsParams creates a new GetAPIEventsParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIEventsParams() *GetAPIEventsParams { + return &GetAPIEventsParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIEventsParamsWithTimeout creates a new GetAPIEventsParams object +// with the ability to set a timeout on a request. +func NewGetAPIEventsParamsWithTimeout(timeout time.Duration) *GetAPIEventsParams { + return &GetAPIEventsParams{ + timeout: timeout, + } +} + +// NewGetAPIEventsParamsWithContext creates a new GetAPIEventsParams object +// with the ability to set a context for a request. +func NewGetAPIEventsParamsWithContext(ctx context.Context) *GetAPIEventsParams { + return &GetAPIEventsParams{ + Context: ctx, + } +} + +// NewGetAPIEventsParamsWithHTTPClient creates a new GetAPIEventsParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIEventsParamsWithHTTPClient(client *http.Client) *GetAPIEventsParams { + return &GetAPIEventsParams{ + HTTPClient: client, + } +} + +/* GetAPIEventsParams contains all the parameters to send to the API endpoint + for the get API events operation. + + Typically these are written to a http.Request. +*/ +type GetAPIEventsParams struct { + + /* AlertIs. + + Alert Kind [ALERT_INFO or ALERT_WARN] + */ + AlertIs []string + + // DestinationIPIsNot. + DestinationIPIsNot []string + + // DestinationIPIs. + DestinationIPIs []string + + // DestinationPortIsNot. + DestinationPortIsNot []string + + // DestinationPortIs. + DestinationPortIs []string + + /* EndTime. + + End time of the query + + Format: date-time + */ + EndTime strfmt.DateTime + + // HasSpecDiffIs. + HasSpecDiffIs *bool + + // MethodIs. + MethodIs []string + + /* Page. + + Page number of the query + */ + Page int64 + + /* PageSize. + + Maximum items to return + */ + PageSize int64 + + // PathContains. + PathContains []string + + // PathEnd. + PathEnd *string + + // PathIsNot. + PathIsNot []string + + // PathIs. + PathIs []string + + // PathStart. + PathStart *string + + // ShowNonAPI. + ShowNonAPI bool + + /* SortDir. + + Sorting direction + + Default: "ASC" + */ + SortDir *string + + /* SortKey. + + Sort key + */ + SortKey string + + // SourceIPIsNot. + SourceIPIsNot []string + + // SourceIPIs. + SourceIPIs []string + + // SpecDiffTypeIs. + SpecDiffTypeIs []string + + // SpecContains. + SpecContains []string + + // SpecEnd. + SpecEnd *string + + // SpecIsNot. + SpecIsNot []string + + // SpecIs. + SpecIs []string + + // SpecStart. + SpecStart *string + + /* StartTime. + + Start time of the query + + Format: date-time + */ + StartTime strfmt.DateTime + + /* StatusCodeGte. + + greater than or equal + */ + StatusCodeGte *string + + // StatusCodeIsNot. + StatusCodeIsNot []string + + // StatusCodeIs. + StatusCodeIs []string + + /* StatusCodeLte. + + less than or equal + */ + StatusCodeLte *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API events params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIEventsParams) WithDefaults() *GetAPIEventsParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API events params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIEventsParams) SetDefaults() { + var ( + sortDirDefault = string("ASC") + ) + + val := GetAPIEventsParams{ + SortDir: &sortDirDefault, + } + + val.timeout = o.timeout + val.Context = o.Context + val.HTTPClient = o.HTTPClient + *o = val +} + +// WithTimeout adds the timeout to the get API events params +func (o *GetAPIEventsParams) WithTimeout(timeout time.Duration) *GetAPIEventsParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API events params +func (o *GetAPIEventsParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API events params +func (o *GetAPIEventsParams) WithContext(ctx context.Context) *GetAPIEventsParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API events params +func (o *GetAPIEventsParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API events params +func (o *GetAPIEventsParams) WithHTTPClient(client *http.Client) *GetAPIEventsParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API events params +func (o *GetAPIEventsParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAlertIs adds the alertIs to the get API events params +func (o *GetAPIEventsParams) WithAlertIs(alertIs []string) *GetAPIEventsParams { + o.SetAlertIs(alertIs) + return o +} + +// SetAlertIs adds the alertIs to the get API events params +func (o *GetAPIEventsParams) SetAlertIs(alertIs []string) { + o.AlertIs = alertIs +} + +// WithDestinationIPIsNot adds the destinationIPIsNot to the get API events params +func (o *GetAPIEventsParams) WithDestinationIPIsNot(destinationIPIsNot []string) *GetAPIEventsParams { + o.SetDestinationIPIsNot(destinationIPIsNot) + return o +} + +// SetDestinationIPIsNot adds the destinationIpIsNot to the get API events params +func (o *GetAPIEventsParams) SetDestinationIPIsNot(destinationIPIsNot []string) { + o.DestinationIPIsNot = destinationIPIsNot +} + +// WithDestinationIPIs adds the destinationIPIs to the get API events params +func (o *GetAPIEventsParams) WithDestinationIPIs(destinationIPIs []string) *GetAPIEventsParams { + o.SetDestinationIPIs(destinationIPIs) + return o +} + +// SetDestinationIPIs adds the destinationIpIs to the get API events params +func (o *GetAPIEventsParams) SetDestinationIPIs(destinationIPIs []string) { + o.DestinationIPIs = destinationIPIs +} + +// WithDestinationPortIsNot adds the destinationPortIsNot to the get API events params +func (o *GetAPIEventsParams) WithDestinationPortIsNot(destinationPortIsNot []string) *GetAPIEventsParams { + o.SetDestinationPortIsNot(destinationPortIsNot) + return o +} + +// SetDestinationPortIsNot adds the destinationPortIsNot to the get API events params +func (o *GetAPIEventsParams) SetDestinationPortIsNot(destinationPortIsNot []string) { + o.DestinationPortIsNot = destinationPortIsNot +} + +// WithDestinationPortIs adds the destinationPortIs to the get API events params +func (o *GetAPIEventsParams) WithDestinationPortIs(destinationPortIs []string) *GetAPIEventsParams { + o.SetDestinationPortIs(destinationPortIs) + return o +} + +// SetDestinationPortIs adds the destinationPortIs to the get API events params +func (o *GetAPIEventsParams) SetDestinationPortIs(destinationPortIs []string) { + o.DestinationPortIs = destinationPortIs +} + +// WithEndTime adds the endTime to the get API events params +func (o *GetAPIEventsParams) WithEndTime(endTime strfmt.DateTime) *GetAPIEventsParams { + o.SetEndTime(endTime) + return o +} + +// SetEndTime adds the endTime to the get API events params +func (o *GetAPIEventsParams) SetEndTime(endTime strfmt.DateTime) { + o.EndTime = endTime +} + +// WithHasSpecDiffIs adds the hasSpecDiffIs to the get API events params +func (o *GetAPIEventsParams) WithHasSpecDiffIs(hasSpecDiffIs *bool) *GetAPIEventsParams { + o.SetHasSpecDiffIs(hasSpecDiffIs) + return o +} + +// SetHasSpecDiffIs adds the hasSpecDiffIs to the get API events params +func (o *GetAPIEventsParams) SetHasSpecDiffIs(hasSpecDiffIs *bool) { + o.HasSpecDiffIs = hasSpecDiffIs +} + +// WithMethodIs adds the methodIs to the get API events params +func (o *GetAPIEventsParams) WithMethodIs(methodIs []string) *GetAPIEventsParams { + o.SetMethodIs(methodIs) + return o +} + +// SetMethodIs adds the methodIs to the get API events params +func (o *GetAPIEventsParams) SetMethodIs(methodIs []string) { + o.MethodIs = methodIs +} + +// WithPage adds the page to the get API events params +func (o *GetAPIEventsParams) WithPage(page int64) *GetAPIEventsParams { + o.SetPage(page) + return o +} + +// SetPage adds the page to the get API events params +func (o *GetAPIEventsParams) SetPage(page int64) { + o.Page = page +} + +// WithPageSize adds the pageSize to the get API events params +func (o *GetAPIEventsParams) WithPageSize(pageSize int64) *GetAPIEventsParams { + o.SetPageSize(pageSize) + return o +} + +// SetPageSize adds the pageSize to the get API events params +func (o *GetAPIEventsParams) SetPageSize(pageSize int64) { + o.PageSize = pageSize +} + +// WithPathContains adds the pathContains to the get API events params +func (o *GetAPIEventsParams) WithPathContains(pathContains []string) *GetAPIEventsParams { + o.SetPathContains(pathContains) + return o +} + +// SetPathContains adds the pathContains to the get API events params +func (o *GetAPIEventsParams) SetPathContains(pathContains []string) { + o.PathContains = pathContains +} + +// WithPathEnd adds the pathEnd to the get API events params +func (o *GetAPIEventsParams) WithPathEnd(pathEnd *string) *GetAPIEventsParams { + o.SetPathEnd(pathEnd) + return o +} + +// SetPathEnd adds the pathEnd to the get API events params +func (o *GetAPIEventsParams) SetPathEnd(pathEnd *string) { + o.PathEnd = pathEnd +} + +// WithPathIsNot adds the pathIsNot to the get API events params +func (o *GetAPIEventsParams) WithPathIsNot(pathIsNot []string) *GetAPIEventsParams { + o.SetPathIsNot(pathIsNot) + return o +} + +// SetPathIsNot adds the pathIsNot to the get API events params +func (o *GetAPIEventsParams) SetPathIsNot(pathIsNot []string) { + o.PathIsNot = pathIsNot +} + +// WithPathIs adds the pathIs to the get API events params +func (o *GetAPIEventsParams) WithPathIs(pathIs []string) *GetAPIEventsParams { + o.SetPathIs(pathIs) + return o +} + +// SetPathIs adds the pathIs to the get API events params +func (o *GetAPIEventsParams) SetPathIs(pathIs []string) { + o.PathIs = pathIs +} + +// WithPathStart adds the pathStart to the get API events params +func (o *GetAPIEventsParams) WithPathStart(pathStart *string) *GetAPIEventsParams { + o.SetPathStart(pathStart) + return o +} + +// SetPathStart adds the pathStart to the get API events params +func (o *GetAPIEventsParams) SetPathStart(pathStart *string) { + o.PathStart = pathStart +} + +// WithShowNonAPI adds the showNonAPI to the get API events params +func (o *GetAPIEventsParams) WithShowNonAPI(showNonAPI bool) *GetAPIEventsParams { + o.SetShowNonAPI(showNonAPI) + return o +} + +// SetShowNonAPI adds the showNonApi to the get API events params +func (o *GetAPIEventsParams) SetShowNonAPI(showNonAPI bool) { + o.ShowNonAPI = showNonAPI +} + +// WithSortDir adds the sortDir to the get API events params +func (o *GetAPIEventsParams) WithSortDir(sortDir *string) *GetAPIEventsParams { + o.SetSortDir(sortDir) + return o +} + +// SetSortDir adds the sortDir to the get API events params +func (o *GetAPIEventsParams) SetSortDir(sortDir *string) { + o.SortDir = sortDir +} + +// WithSortKey adds the sortKey to the get API events params +func (o *GetAPIEventsParams) WithSortKey(sortKey string) *GetAPIEventsParams { + o.SetSortKey(sortKey) + return o +} + +// SetSortKey adds the sortKey to the get API events params +func (o *GetAPIEventsParams) SetSortKey(sortKey string) { + o.SortKey = sortKey +} + +// WithSourceIPIsNot adds the sourceIPIsNot to the get API events params +func (o *GetAPIEventsParams) WithSourceIPIsNot(sourceIPIsNot []string) *GetAPIEventsParams { + o.SetSourceIPIsNot(sourceIPIsNot) + return o +} + +// SetSourceIPIsNot adds the sourceIpIsNot to the get API events params +func (o *GetAPIEventsParams) SetSourceIPIsNot(sourceIPIsNot []string) { + o.SourceIPIsNot = sourceIPIsNot +} + +// WithSourceIPIs adds the sourceIPIs to the get API events params +func (o *GetAPIEventsParams) WithSourceIPIs(sourceIPIs []string) *GetAPIEventsParams { + o.SetSourceIPIs(sourceIPIs) + return o +} + +// SetSourceIPIs adds the sourceIpIs to the get API events params +func (o *GetAPIEventsParams) SetSourceIPIs(sourceIPIs []string) { + o.SourceIPIs = sourceIPIs +} + +// WithSpecDiffTypeIs adds the specDiffTypeIs to the get API events params +func (o *GetAPIEventsParams) WithSpecDiffTypeIs(specDiffTypeIs []string) *GetAPIEventsParams { + o.SetSpecDiffTypeIs(specDiffTypeIs) + return o +} + +// SetSpecDiffTypeIs adds the specDiffTypeIs to the get API events params +func (o *GetAPIEventsParams) SetSpecDiffTypeIs(specDiffTypeIs []string) { + o.SpecDiffTypeIs = specDiffTypeIs +} + +// WithSpecContains adds the specContains to the get API events params +func (o *GetAPIEventsParams) WithSpecContains(specContains []string) *GetAPIEventsParams { + o.SetSpecContains(specContains) + return o +} + +// SetSpecContains adds the specContains to the get API events params +func (o *GetAPIEventsParams) SetSpecContains(specContains []string) { + o.SpecContains = specContains +} + +// WithSpecEnd adds the specEnd to the get API events params +func (o *GetAPIEventsParams) WithSpecEnd(specEnd *string) *GetAPIEventsParams { + o.SetSpecEnd(specEnd) + return o +} + +// SetSpecEnd adds the specEnd to the get API events params +func (o *GetAPIEventsParams) SetSpecEnd(specEnd *string) { + o.SpecEnd = specEnd +} + +// WithSpecIsNot adds the specIsNot to the get API events params +func (o *GetAPIEventsParams) WithSpecIsNot(specIsNot []string) *GetAPIEventsParams { + o.SetSpecIsNot(specIsNot) + return o +} + +// SetSpecIsNot adds the specIsNot to the get API events params +func (o *GetAPIEventsParams) SetSpecIsNot(specIsNot []string) { + o.SpecIsNot = specIsNot +} + +// WithSpecIs adds the specIs to the get API events params +func (o *GetAPIEventsParams) WithSpecIs(specIs []string) *GetAPIEventsParams { + o.SetSpecIs(specIs) + return o +} + +// SetSpecIs adds the specIs to the get API events params +func (o *GetAPIEventsParams) SetSpecIs(specIs []string) { + o.SpecIs = specIs +} + +// WithSpecStart adds the specStart to the get API events params +func (o *GetAPIEventsParams) WithSpecStart(specStart *string) *GetAPIEventsParams { + o.SetSpecStart(specStart) + return o +} + +// SetSpecStart adds the specStart to the get API events params +func (o *GetAPIEventsParams) SetSpecStart(specStart *string) { + o.SpecStart = specStart +} + +// WithStartTime adds the startTime to the get API events params +func (o *GetAPIEventsParams) WithStartTime(startTime strfmt.DateTime) *GetAPIEventsParams { + o.SetStartTime(startTime) + return o +} + +// SetStartTime adds the startTime to the get API events params +func (o *GetAPIEventsParams) SetStartTime(startTime strfmt.DateTime) { + o.StartTime = startTime +} + +// WithStatusCodeGte adds the statusCodeGte to the get API events params +func (o *GetAPIEventsParams) WithStatusCodeGte(statusCodeGte *string) *GetAPIEventsParams { + o.SetStatusCodeGte(statusCodeGte) + return o +} + +// SetStatusCodeGte adds the statusCodeGte to the get API events params +func (o *GetAPIEventsParams) SetStatusCodeGte(statusCodeGte *string) { + o.StatusCodeGte = statusCodeGte +} + +// WithStatusCodeIsNot adds the statusCodeIsNot to the get API events params +func (o *GetAPIEventsParams) WithStatusCodeIsNot(statusCodeIsNot []string) *GetAPIEventsParams { + o.SetStatusCodeIsNot(statusCodeIsNot) + return o +} + +// SetStatusCodeIsNot adds the statusCodeIsNot to the get API events params +func (o *GetAPIEventsParams) SetStatusCodeIsNot(statusCodeIsNot []string) { + o.StatusCodeIsNot = statusCodeIsNot +} + +// WithStatusCodeIs adds the statusCodeIs to the get API events params +func (o *GetAPIEventsParams) WithStatusCodeIs(statusCodeIs []string) *GetAPIEventsParams { + o.SetStatusCodeIs(statusCodeIs) + return o +} + +// SetStatusCodeIs adds the statusCodeIs to the get API events params +func (o *GetAPIEventsParams) SetStatusCodeIs(statusCodeIs []string) { + o.StatusCodeIs = statusCodeIs +} + +// WithStatusCodeLte adds the statusCodeLte to the get API events params +func (o *GetAPIEventsParams) WithStatusCodeLte(statusCodeLte *string) *GetAPIEventsParams { + o.SetStatusCodeLte(statusCodeLte) + return o +} + +// SetStatusCodeLte adds the statusCodeLte to the get API events params +func (o *GetAPIEventsParams) SetStatusCodeLte(statusCodeLte *string) { + o.StatusCodeLte = statusCodeLte +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIEventsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.AlertIs != nil { + + // binding items for alert[is] + joinedAlertIs := o.bindParamAlertIs(reg) + + // query array param alert[is] + if err := r.SetQueryParam("alert[is]", joinedAlertIs...); err != nil { + return err + } + } + + if o.DestinationIPIsNot != nil { + + // binding items for destinationIP[isNot] + joinedDestinationIPIsNot := o.bindParamDestinationIPIsNot(reg) + + // query array param destinationIP[isNot] + if err := r.SetQueryParam("destinationIP[isNot]", joinedDestinationIPIsNot...); err != nil { + return err + } + } + + if o.DestinationIPIs != nil { + + // binding items for destinationIP[is] + joinedDestinationIPIs := o.bindParamDestinationIPIs(reg) + + // query array param destinationIP[is] + if err := r.SetQueryParam("destinationIP[is]", joinedDestinationIPIs...); err != nil { + return err + } + } + + if o.DestinationPortIsNot != nil { + + // binding items for destinationPort[isNot] + joinedDestinationPortIsNot := o.bindParamDestinationPortIsNot(reg) + + // query array param destinationPort[isNot] + if err := r.SetQueryParam("destinationPort[isNot]", joinedDestinationPortIsNot...); err != nil { + return err + } + } + + if o.DestinationPortIs != nil { + + // binding items for destinationPort[is] + joinedDestinationPortIs := o.bindParamDestinationPortIs(reg) + + // query array param destinationPort[is] + if err := r.SetQueryParam("destinationPort[is]", joinedDestinationPortIs...); err != nil { + return err + } + } + + // query param endTime + qrEndTime := o.EndTime + qEndTime := qrEndTime.String() + if qEndTime != "" { + + if err := r.SetQueryParam("endTime", qEndTime); err != nil { + return err + } + } + + if o.HasSpecDiffIs != nil { + + // query param hasSpecDiff[is] + var qrHasSpecDiffIs bool + + if o.HasSpecDiffIs != nil { + qrHasSpecDiffIs = *o.HasSpecDiffIs + } + qHasSpecDiffIs := swag.FormatBool(qrHasSpecDiffIs) + if qHasSpecDiffIs != "" { + + if err := r.SetQueryParam("hasSpecDiff[is]", qHasSpecDiffIs); err != nil { + return err + } + } + } + + if o.MethodIs != nil { + + // binding items for method[is] + joinedMethodIs := o.bindParamMethodIs(reg) + + // query array param method[is] + if err := r.SetQueryParam("method[is]", joinedMethodIs...); err != nil { + return err + } + } + + // query param page + qrPage := o.Page + qPage := swag.FormatInt64(qrPage) + if qPage != "" { + + if err := r.SetQueryParam("page", qPage); err != nil { + return err + } + } + + // query param pageSize + qrPageSize := o.PageSize + qPageSize := swag.FormatInt64(qrPageSize) + if qPageSize != "" { + + if err := r.SetQueryParam("pageSize", qPageSize); err != nil { + return err + } + } + + if o.PathContains != nil { + + // binding items for path[contains] + joinedPathContains := o.bindParamPathContains(reg) + + // query array param path[contains] + if err := r.SetQueryParam("path[contains]", joinedPathContains...); err != nil { + return err + } + } + + if o.PathEnd != nil { + + // query param path[end] + var qrPathEnd string + + if o.PathEnd != nil { + qrPathEnd = *o.PathEnd + } + qPathEnd := qrPathEnd + if qPathEnd != "" { + + if err := r.SetQueryParam("path[end]", qPathEnd); err != nil { + return err + } + } + } + + if o.PathIsNot != nil { + + // binding items for path[isNot] + joinedPathIsNot := o.bindParamPathIsNot(reg) + + // query array param path[isNot] + if err := r.SetQueryParam("path[isNot]", joinedPathIsNot...); err != nil { + return err + } + } + + if o.PathIs != nil { + + // binding items for path[is] + joinedPathIs := o.bindParamPathIs(reg) + + // query array param path[is] + if err := r.SetQueryParam("path[is]", joinedPathIs...); err != nil { + return err + } + } + + if o.PathStart != nil { + + // query param path[start] + var qrPathStart string + + if o.PathStart != nil { + qrPathStart = *o.PathStart + } + qPathStart := qrPathStart + if qPathStart != "" { + + if err := r.SetQueryParam("path[start]", qPathStart); err != nil { + return err + } + } + } + + // query param showNonApi + qrShowNonAPI := o.ShowNonAPI + qShowNonAPI := swag.FormatBool(qrShowNonAPI) + if qShowNonAPI != "" { + + if err := r.SetQueryParam("showNonApi", qShowNonAPI); err != nil { + return err + } + } + + if o.SortDir != nil { + + // query param sortDir + var qrSortDir string + + if o.SortDir != nil { + qrSortDir = *o.SortDir + } + qSortDir := qrSortDir + if qSortDir != "" { + + if err := r.SetQueryParam("sortDir", qSortDir); err != nil { + return err + } + } + } + + // query param sortKey + qrSortKey := o.SortKey + qSortKey := qrSortKey + if qSortKey != "" { + + if err := r.SetQueryParam("sortKey", qSortKey); err != nil { + return err + } + } + + if o.SourceIPIsNot != nil { + + // binding items for sourceIP[isNot] + joinedSourceIPIsNot := o.bindParamSourceIPIsNot(reg) + + // query array param sourceIP[isNot] + if err := r.SetQueryParam("sourceIP[isNot]", joinedSourceIPIsNot...); err != nil { + return err + } + } + + if o.SourceIPIs != nil { + + // binding items for sourceIP[is] + joinedSourceIPIs := o.bindParamSourceIPIs(reg) + + // query array param sourceIP[is] + if err := r.SetQueryParam("sourceIP[is]", joinedSourceIPIs...); err != nil { + return err + } + } + + if o.SpecDiffTypeIs != nil { + + // binding items for specDiffType[is] + joinedSpecDiffTypeIs := o.bindParamSpecDiffTypeIs(reg) + + // query array param specDiffType[is] + if err := r.SetQueryParam("specDiffType[is]", joinedSpecDiffTypeIs...); err != nil { + return err + } + } + + if o.SpecContains != nil { + + // binding items for spec[contains] + joinedSpecContains := o.bindParamSpecContains(reg) + + // query array param spec[contains] + if err := r.SetQueryParam("spec[contains]", joinedSpecContains...); err != nil { + return err + } + } + + if o.SpecEnd != nil { + + // query param spec[end] + var qrSpecEnd string + + if o.SpecEnd != nil { + qrSpecEnd = *o.SpecEnd + } + qSpecEnd := qrSpecEnd + if qSpecEnd != "" { + + if err := r.SetQueryParam("spec[end]", qSpecEnd); err != nil { + return err + } + } + } + + if o.SpecIsNot != nil { + + // binding items for spec[isNot] + joinedSpecIsNot := o.bindParamSpecIsNot(reg) + + // query array param spec[isNot] + if err := r.SetQueryParam("spec[isNot]", joinedSpecIsNot...); err != nil { + return err + } + } + + if o.SpecIs != nil { + + // binding items for spec[is] + joinedSpecIs := o.bindParamSpecIs(reg) + + // query array param spec[is] + if err := r.SetQueryParam("spec[is]", joinedSpecIs...); err != nil { + return err + } + } + + if o.SpecStart != nil { + + // query param spec[start] + var qrSpecStart string + + if o.SpecStart != nil { + qrSpecStart = *o.SpecStart + } + qSpecStart := qrSpecStart + if qSpecStart != "" { + + if err := r.SetQueryParam("spec[start]", qSpecStart); err != nil { + return err + } + } + } + + // query param startTime + qrStartTime := o.StartTime + qStartTime := qrStartTime.String() + if qStartTime != "" { + + if err := r.SetQueryParam("startTime", qStartTime); err != nil { + return err + } + } + + if o.StatusCodeGte != nil { + + // query param statusCode[gte] + var qrStatusCodeGte string + + if o.StatusCodeGte != nil { + qrStatusCodeGte = *o.StatusCodeGte + } + qStatusCodeGte := qrStatusCodeGte + if qStatusCodeGte != "" { + + if err := r.SetQueryParam("statusCode[gte]", qStatusCodeGte); err != nil { + return err + } + } + } + + if o.StatusCodeIsNot != nil { + + // binding items for statusCode[isNot] + joinedStatusCodeIsNot := o.bindParamStatusCodeIsNot(reg) + + // query array param statusCode[isNot] + if err := r.SetQueryParam("statusCode[isNot]", joinedStatusCodeIsNot...); err != nil { + return err + } + } + + if o.StatusCodeIs != nil { + + // binding items for statusCode[is] + joinedStatusCodeIs := o.bindParamStatusCodeIs(reg) + + // query array param statusCode[is] + if err := r.SetQueryParam("statusCode[is]", joinedStatusCodeIs...); err != nil { + return err + } + } + + if o.StatusCodeLte != nil { + + // query param statusCode[lte] + var qrStatusCodeLte string + + if o.StatusCodeLte != nil { + qrStatusCodeLte = *o.StatusCodeLte + } + qStatusCodeLte := qrStatusCodeLte + if qStatusCodeLte != "" { + + if err := r.SetQueryParam("statusCode[lte]", qStatusCodeLte); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindParamGetAPIEvents binds the parameter alert[is] +func (o *GetAPIEventsParams) bindParamAlertIs(formats strfmt.Registry) []string { + alertIsIR := o.AlertIs + + var alertIsIC []string + for _, alertIsIIR := range alertIsIR { // explode []string + + alertIsIIV := alertIsIIR // string as string + alertIsIC = append(alertIsIC, alertIsIIV) + } + + // items.CollectionFormat: "" + alertIsIS := swag.JoinByFormat(alertIsIC, "") + + return alertIsIS +} + +// bindParamGetAPIEvents binds the parameter destinationIP[isNot] +func (o *GetAPIEventsParams) bindParamDestinationIPIsNot(formats strfmt.Registry) []string { + destinationIPIsNotIR := o.DestinationIPIsNot + + var destinationIPIsNotIC []string + for _, destinationIPIsNotIIR := range destinationIPIsNotIR { // explode []string + + destinationIPIsNotIIV := destinationIPIsNotIIR // string as string + destinationIPIsNotIC = append(destinationIPIsNotIC, destinationIPIsNotIIV) + } + + // items.CollectionFormat: "" + destinationIPIsNotIS := swag.JoinByFormat(destinationIPIsNotIC, "") + + return destinationIPIsNotIS +} + +// bindParamGetAPIEvents binds the parameter destinationIP[is] +func (o *GetAPIEventsParams) bindParamDestinationIPIs(formats strfmt.Registry) []string { + destinationIPIsIR := o.DestinationIPIs + + var destinationIPIsIC []string + for _, destinationIPIsIIR := range destinationIPIsIR { // explode []string + + destinationIPIsIIV := destinationIPIsIIR // string as string + destinationIPIsIC = append(destinationIPIsIC, destinationIPIsIIV) + } + + // items.CollectionFormat: "" + destinationIPIsIS := swag.JoinByFormat(destinationIPIsIC, "") + + return destinationIPIsIS +} + +// bindParamGetAPIEvents binds the parameter destinationPort[isNot] +func (o *GetAPIEventsParams) bindParamDestinationPortIsNot(formats strfmt.Registry) []string { + destinationPortIsNotIR := o.DestinationPortIsNot + + var destinationPortIsNotIC []string + for _, destinationPortIsNotIIR := range destinationPortIsNotIR { // explode []string + + destinationPortIsNotIIV := destinationPortIsNotIIR // string as string + destinationPortIsNotIC = append(destinationPortIsNotIC, destinationPortIsNotIIV) + } + + // items.CollectionFormat: "" + destinationPortIsNotIS := swag.JoinByFormat(destinationPortIsNotIC, "") + + return destinationPortIsNotIS +} + +// bindParamGetAPIEvents binds the parameter destinationPort[is] +func (o *GetAPIEventsParams) bindParamDestinationPortIs(formats strfmt.Registry) []string { + destinationPortIsIR := o.DestinationPortIs + + var destinationPortIsIC []string + for _, destinationPortIsIIR := range destinationPortIsIR { // explode []string + + destinationPortIsIIV := destinationPortIsIIR // string as string + destinationPortIsIC = append(destinationPortIsIC, destinationPortIsIIV) + } + + // items.CollectionFormat: "" + destinationPortIsIS := swag.JoinByFormat(destinationPortIsIC, "") + + return destinationPortIsIS +} + +// bindParamGetAPIEvents binds the parameter method[is] +func (o *GetAPIEventsParams) bindParamMethodIs(formats strfmt.Registry) []string { + methodIsIR := o.MethodIs + + var methodIsIC []string + for _, methodIsIIR := range methodIsIR { // explode []string + + methodIsIIV := methodIsIIR // string as string + methodIsIC = append(methodIsIC, methodIsIIV) + } + + // items.CollectionFormat: "" + methodIsIS := swag.JoinByFormat(methodIsIC, "") + + return methodIsIS +} + +// bindParamGetAPIEvents binds the parameter path[contains] +func (o *GetAPIEventsParams) bindParamPathContains(formats strfmt.Registry) []string { + pathContainsIR := o.PathContains + + var pathContainsIC []string + for _, pathContainsIIR := range pathContainsIR { // explode []string + + pathContainsIIV := pathContainsIIR // string as string + pathContainsIC = append(pathContainsIC, pathContainsIIV) + } + + // items.CollectionFormat: "" + pathContainsIS := swag.JoinByFormat(pathContainsIC, "") + + return pathContainsIS +} + +// bindParamGetAPIEvents binds the parameter path[isNot] +func (o *GetAPIEventsParams) bindParamPathIsNot(formats strfmt.Registry) []string { + pathIsNotIR := o.PathIsNot + + var pathIsNotIC []string + for _, pathIsNotIIR := range pathIsNotIR { // explode []string + + pathIsNotIIV := pathIsNotIIR // string as string + pathIsNotIC = append(pathIsNotIC, pathIsNotIIV) + } + + // items.CollectionFormat: "" + pathIsNotIS := swag.JoinByFormat(pathIsNotIC, "") + + return pathIsNotIS +} + +// bindParamGetAPIEvents binds the parameter path[is] +func (o *GetAPIEventsParams) bindParamPathIs(formats strfmt.Registry) []string { + pathIsIR := o.PathIs + + var pathIsIC []string + for _, pathIsIIR := range pathIsIR { // explode []string + + pathIsIIV := pathIsIIR // string as string + pathIsIC = append(pathIsIC, pathIsIIV) + } + + // items.CollectionFormat: "" + pathIsIS := swag.JoinByFormat(pathIsIC, "") + + return pathIsIS +} + +// bindParamGetAPIEvents binds the parameter sourceIP[isNot] +func (o *GetAPIEventsParams) bindParamSourceIPIsNot(formats strfmt.Registry) []string { + sourceIPIsNotIR := o.SourceIPIsNot + + var sourceIPIsNotIC []string + for _, sourceIPIsNotIIR := range sourceIPIsNotIR { // explode []string + + sourceIPIsNotIIV := sourceIPIsNotIIR // string as string + sourceIPIsNotIC = append(sourceIPIsNotIC, sourceIPIsNotIIV) + } + + // items.CollectionFormat: "" + sourceIPIsNotIS := swag.JoinByFormat(sourceIPIsNotIC, "") + + return sourceIPIsNotIS +} + +// bindParamGetAPIEvents binds the parameter sourceIP[is] +func (o *GetAPIEventsParams) bindParamSourceIPIs(formats strfmt.Registry) []string { + sourceIPIsIR := o.SourceIPIs + + var sourceIPIsIC []string + for _, sourceIPIsIIR := range sourceIPIsIR { // explode []string + + sourceIPIsIIV := sourceIPIsIIR // string as string + sourceIPIsIC = append(sourceIPIsIC, sourceIPIsIIV) + } + + // items.CollectionFormat: "" + sourceIPIsIS := swag.JoinByFormat(sourceIPIsIC, "") + + return sourceIPIsIS +} + +// bindParamGetAPIEvents binds the parameter specDiffType[is] +func (o *GetAPIEventsParams) bindParamSpecDiffTypeIs(formats strfmt.Registry) []string { + specDiffTypeIsIR := o.SpecDiffTypeIs + + var specDiffTypeIsIC []string + for _, specDiffTypeIsIIR := range specDiffTypeIsIR { // explode []string + + specDiffTypeIsIIV := specDiffTypeIsIIR // string as string + specDiffTypeIsIC = append(specDiffTypeIsIC, specDiffTypeIsIIV) + } + + // items.CollectionFormat: "" + specDiffTypeIsIS := swag.JoinByFormat(specDiffTypeIsIC, "") + + return specDiffTypeIsIS +} + +// bindParamGetAPIEvents binds the parameter spec[contains] +func (o *GetAPIEventsParams) bindParamSpecContains(formats strfmt.Registry) []string { + specContainsIR := o.SpecContains + + var specContainsIC []string + for _, specContainsIIR := range specContainsIR { // explode []string + + specContainsIIV := specContainsIIR // string as string + specContainsIC = append(specContainsIC, specContainsIIV) + } + + // items.CollectionFormat: "" + specContainsIS := swag.JoinByFormat(specContainsIC, "") + + return specContainsIS +} + +// bindParamGetAPIEvents binds the parameter spec[isNot] +func (o *GetAPIEventsParams) bindParamSpecIsNot(formats strfmt.Registry) []string { + specIsNotIR := o.SpecIsNot + + var specIsNotIC []string + for _, specIsNotIIR := range specIsNotIR { // explode []string + + specIsNotIIV := specIsNotIIR // string as string + specIsNotIC = append(specIsNotIC, specIsNotIIV) + } + + // items.CollectionFormat: "" + specIsNotIS := swag.JoinByFormat(specIsNotIC, "") + + return specIsNotIS +} + +// bindParamGetAPIEvents binds the parameter spec[is] +func (o *GetAPIEventsParams) bindParamSpecIs(formats strfmt.Registry) []string { + specIsIR := o.SpecIs + + var specIsIC []string + for _, specIsIIR := range specIsIR { // explode []string + + specIsIIV := specIsIIR // string as string + specIsIC = append(specIsIC, specIsIIV) + } + + // items.CollectionFormat: "" + specIsIS := swag.JoinByFormat(specIsIC, "") + + return specIsIS +} + +// bindParamGetAPIEvents binds the parameter statusCode[isNot] +func (o *GetAPIEventsParams) bindParamStatusCodeIsNot(formats strfmt.Registry) []string { + statusCodeIsNotIR := o.StatusCodeIsNot + + var statusCodeIsNotIC []string + for _, statusCodeIsNotIIR := range statusCodeIsNotIR { // explode []string + + statusCodeIsNotIIV := statusCodeIsNotIIR // string as string + statusCodeIsNotIC = append(statusCodeIsNotIC, statusCodeIsNotIIV) + } + + // items.CollectionFormat: "" + statusCodeIsNotIS := swag.JoinByFormat(statusCodeIsNotIC, "") + + return statusCodeIsNotIS +} + +// bindParamGetAPIEvents binds the parameter statusCode[is] +func (o *GetAPIEventsParams) bindParamStatusCodeIs(formats strfmt.Registry) []string { + statusCodeIsIR := o.StatusCodeIs + + var statusCodeIsIC []string + for _, statusCodeIsIIR := range statusCodeIsIR { // explode []string + + statusCodeIsIIV := statusCodeIsIIR // string as string + statusCodeIsIC = append(statusCodeIsIC, statusCodeIsIIV) + } + + // items.CollectionFormat: "" + statusCodeIsIS := swag.JoinByFormat(statusCodeIsIC, "") + + return statusCodeIsIS +} diff --git a/api/client/client/operations/get_api_events_responses.go b/api/client/client/operations/get_api_events_responses.go new file mode 100644 index 00000000..eeebc6b8 --- /dev/null +++ b/api/client/client/operations/get_api_events_responses.go @@ -0,0 +1,234 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "fmt" + "io" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIEventsReader is a Reader for the GetAPIEvents structure. +type GetAPIEventsReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIEventsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIEventsOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIEventsDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIEventsOK creates a GetAPIEventsOK with default headers values +func NewGetAPIEventsOK() *GetAPIEventsOK { + return &GetAPIEventsOK{} +} + +/* GetAPIEventsOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIEventsOK struct { + Payload *GetAPIEventsOKBody +} + +func (o *GetAPIEventsOK) Error() string { + return fmt.Sprintf("[GET /apiEvents][%d] getApiEventsOK %+v", 200, o.Payload) +} +func (o *GetAPIEventsOK) GetPayload() *GetAPIEventsOKBody { + return o.Payload +} + +func (o *GetAPIEventsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(GetAPIEventsOKBody) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIEventsDefault creates a GetAPIEventsDefault with default headers values +func NewGetAPIEventsDefault(code int) *GetAPIEventsDefault { + return &GetAPIEventsDefault{ + _statusCode: code, + } +} + +/* GetAPIEventsDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIEventsDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API events default response +func (o *GetAPIEventsDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIEventsDefault) Error() string { + return fmt.Sprintf("[GET /apiEvents][%d] GetAPIEvents default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIEventsDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIEventsDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +/*GetAPIEventsOKBody get API events o k body +swagger:model GetAPIEventsOKBody +*/ +type GetAPIEventsOKBody struct { + + // List of API events in the given time range, filters and page. List length must be lower or equal to pageSize + Items []*models.APIEvent `json:"items"` + + // Total events count in the given time range and filters + // Required: true + Total *int64 `json:"total"` +} + +// Validate validates this get API events o k body +func (o *GetAPIEventsOKBody) Validate(formats strfmt.Registry) error { + var res []error + + if err := o.validateItems(formats); err != nil { + res = append(res, err) + } + + if err := o.validateTotal(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (o *GetAPIEventsOKBody) validateItems(formats strfmt.Registry) error { + if swag.IsZero(o.Items) { // not required + return nil + } + + for i := 0; i < len(o.Items); i++ { + if swag.IsZero(o.Items[i]) { // not required + continue + } + + if o.Items[i] != nil { + if err := o.Items[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("getApiEventsOK" + "." + "items" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (o *GetAPIEventsOKBody) validateTotal(formats strfmt.Registry) error { + + if err := validate.Required("getApiEventsOK"+"."+"total", "body", o.Total); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this get API events o k body based on the context it is used +func (o *GetAPIEventsOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := o.contextValidateItems(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (o *GetAPIEventsOKBody) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(o.Items); i++ { + + if o.Items[i] != nil { + if err := o.Items[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("getApiEventsOK" + "." + "items" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (o *GetAPIEventsOKBody) MarshalBinary() ([]byte, error) { + if o == nil { + return nil, nil + } + return swag.WriteJSON(o) +} + +// UnmarshalBinary interface implementation +func (o *GetAPIEventsOKBody) UnmarshalBinary(b []byte) error { + var res GetAPIEventsOKBody + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *o = res + return nil +} diff --git a/api/client/client/operations/get_api_inventory_api_id_provided_swagger_json_parameters.go b/api/client/client/operations/get_api_inventory_api_id_provided_swagger_json_parameters.go new file mode 100644 index 00000000..fa22fec8 --- /dev/null +++ b/api/client/client/operations/get_api_inventory_api_id_provided_swagger_json_parameters.go @@ -0,0 +1,149 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIInventoryAPIIDProvidedSwaggerJSONParams creates a new GetAPIInventoryAPIIDProvidedSwaggerJSONParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIInventoryAPIIDProvidedSwaggerJSONParams() *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + return &GetAPIInventoryAPIIDProvidedSwaggerJSONParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIInventoryAPIIDProvidedSwaggerJSONParamsWithTimeout creates a new GetAPIInventoryAPIIDProvidedSwaggerJSONParams object +// with the ability to set a timeout on a request. +func NewGetAPIInventoryAPIIDProvidedSwaggerJSONParamsWithTimeout(timeout time.Duration) *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + return &GetAPIInventoryAPIIDProvidedSwaggerJSONParams{ + timeout: timeout, + } +} + +// NewGetAPIInventoryAPIIDProvidedSwaggerJSONParamsWithContext creates a new GetAPIInventoryAPIIDProvidedSwaggerJSONParams object +// with the ability to set a context for a request. +func NewGetAPIInventoryAPIIDProvidedSwaggerJSONParamsWithContext(ctx context.Context) *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + return &GetAPIInventoryAPIIDProvidedSwaggerJSONParams{ + Context: ctx, + } +} + +// NewGetAPIInventoryAPIIDProvidedSwaggerJSONParamsWithHTTPClient creates a new GetAPIInventoryAPIIDProvidedSwaggerJSONParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIInventoryAPIIDProvidedSwaggerJSONParamsWithHTTPClient(client *http.Client) *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + return &GetAPIInventoryAPIIDProvidedSwaggerJSONParams{ + HTTPClient: client, + } +} + +/* GetAPIInventoryAPIIDProvidedSwaggerJSONParams contains all the parameters to send to the API endpoint + for the get API inventory API ID provided swagger JSON operation. + + Typically these are written to a http.Request. +*/ +type GetAPIInventoryAPIIDProvidedSwaggerJSONParams struct { + + // APIID. + // + // Format: uint32 + APIID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API inventory API ID provided swagger JSON params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) WithDefaults() *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API inventory API ID provided swagger JSON params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get API inventory API ID provided swagger JSON params +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) WithTimeout(timeout time.Duration) *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API inventory API ID provided swagger JSON params +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API inventory API ID provided swagger JSON params +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) WithContext(ctx context.Context) *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API inventory API ID provided swagger JSON params +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API inventory API ID provided swagger JSON params +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) WithHTTPClient(client *http.Client) *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API inventory API ID provided swagger JSON params +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAPIID adds the aPIID to the get API inventory API ID provided swagger JSON params +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) WithAPIID(aPIID uint32) *GetAPIInventoryAPIIDProvidedSwaggerJSONParams { + o.SetAPIID(aPIID) + return o +} + +// SetAPIID adds the apiId to the get API inventory API ID provided swagger JSON params +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) SetAPIID(aPIID uint32) { + o.APIID = aPIID +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param apiId + if err := r.SetPathParam("apiId", swag.FormatUint32(o.APIID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_api_inventory_api_id_provided_swagger_json_responses.go b/api/client/client/operations/get_api_inventory_api_id_provided_swagger_json_responses.go new file mode 100644 index 00000000..eb19d52e --- /dev/null +++ b/api/client/client/operations/get_api_inventory_api_id_provided_swagger_json_responses.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIInventoryAPIIDProvidedSwaggerJSONReader is a Reader for the GetAPIInventoryAPIIDProvidedSwaggerJSON structure. +type GetAPIInventoryAPIIDProvidedSwaggerJSONReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIInventoryAPIIDProvidedSwaggerJSONOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIInventoryAPIIDProvidedSwaggerJSONDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIInventoryAPIIDProvidedSwaggerJSONOK creates a GetAPIInventoryAPIIDProvidedSwaggerJSONOK with default headers values +func NewGetAPIInventoryAPIIDProvidedSwaggerJSONOK() *GetAPIInventoryAPIIDProvidedSwaggerJSONOK { + return &GetAPIInventoryAPIIDProvidedSwaggerJSONOK{} +} + +/* GetAPIInventoryAPIIDProvidedSwaggerJSONOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIInventoryAPIIDProvidedSwaggerJSONOK struct { + Payload interface{} +} + +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONOK) Error() string { + return fmt.Sprintf("[GET /apiInventory/{apiId}/provided_swagger.json][%d] getApiInventoryApiIdProvidedSwaggerJsonOK %+v", 200, o.Payload) +} +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONOK) GetPayload() interface{} { + return o.Payload +} + +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIInventoryAPIIDProvidedSwaggerJSONDefault creates a GetAPIInventoryAPIIDProvidedSwaggerJSONDefault with default headers values +func NewGetAPIInventoryAPIIDProvidedSwaggerJSONDefault(code int) *GetAPIInventoryAPIIDProvidedSwaggerJSONDefault { + return &GetAPIInventoryAPIIDProvidedSwaggerJSONDefault{ + _statusCode: code, + } +} + +/* GetAPIInventoryAPIIDProvidedSwaggerJSONDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIInventoryAPIIDProvidedSwaggerJSONDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API inventory API ID provided swagger JSON default response +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONDefault) Error() string { + return fmt.Sprintf("[GET /apiInventory/{apiId}/provided_swagger.json][%d] GetAPIInventoryAPIIDProvidedSwaggerJSON default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIInventoryAPIIDProvidedSwaggerJSONDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_api_inventory_api_id_reconstructed_swagger_json_parameters.go b/api/client/client/operations/get_api_inventory_api_id_reconstructed_swagger_json_parameters.go new file mode 100644 index 00000000..1c04ffce --- /dev/null +++ b/api/client/client/operations/get_api_inventory_api_id_reconstructed_swagger_json_parameters.go @@ -0,0 +1,149 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParams creates a new GetAPIInventoryAPIIDReconstructedSwaggerJSONParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParams() *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + return &GetAPIInventoryAPIIDReconstructedSwaggerJSONParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParamsWithTimeout creates a new GetAPIInventoryAPIIDReconstructedSwaggerJSONParams object +// with the ability to set a timeout on a request. +func NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParamsWithTimeout(timeout time.Duration) *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + return &GetAPIInventoryAPIIDReconstructedSwaggerJSONParams{ + timeout: timeout, + } +} + +// NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParamsWithContext creates a new GetAPIInventoryAPIIDReconstructedSwaggerJSONParams object +// with the ability to set a context for a request. +func NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParamsWithContext(ctx context.Context) *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + return &GetAPIInventoryAPIIDReconstructedSwaggerJSONParams{ + Context: ctx, + } +} + +// NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParamsWithHTTPClient creates a new GetAPIInventoryAPIIDReconstructedSwaggerJSONParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParamsWithHTTPClient(client *http.Client) *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + return &GetAPIInventoryAPIIDReconstructedSwaggerJSONParams{ + HTTPClient: client, + } +} + +/* GetAPIInventoryAPIIDReconstructedSwaggerJSONParams contains all the parameters to send to the API endpoint + for the get API inventory API ID reconstructed swagger JSON operation. + + Typically these are written to a http.Request. +*/ +type GetAPIInventoryAPIIDReconstructedSwaggerJSONParams struct { + + // APIID. + // + // Format: uint32 + APIID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API inventory API ID reconstructed swagger JSON params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) WithDefaults() *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API inventory API ID reconstructed swagger JSON params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get API inventory API ID reconstructed swagger JSON params +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) WithTimeout(timeout time.Duration) *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API inventory API ID reconstructed swagger JSON params +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API inventory API ID reconstructed swagger JSON params +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) WithContext(ctx context.Context) *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API inventory API ID reconstructed swagger JSON params +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API inventory API ID reconstructed swagger JSON params +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) WithHTTPClient(client *http.Client) *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API inventory API ID reconstructed swagger JSON params +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAPIID adds the aPIID to the get API inventory API ID reconstructed swagger JSON params +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) WithAPIID(aPIID uint32) *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams { + o.SetAPIID(aPIID) + return o +} + +// SetAPIID adds the apiId to the get API inventory API ID reconstructed swagger JSON params +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) SetAPIID(aPIID uint32) { + o.APIID = aPIID +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param apiId + if err := r.SetPathParam("apiId", swag.FormatUint32(o.APIID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_api_inventory_api_id_reconstructed_swagger_json_responses.go b/api/client/client/operations/get_api_inventory_api_id_reconstructed_swagger_json_responses.go new file mode 100644 index 00000000..ee5101ef --- /dev/null +++ b/api/client/client/operations/get_api_inventory_api_id_reconstructed_swagger_json_responses.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIInventoryAPIIDReconstructedSwaggerJSONReader is a Reader for the GetAPIInventoryAPIIDReconstructedSwaggerJSON structure. +type GetAPIInventoryAPIIDReconstructedSwaggerJSONReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIInventoryAPIIDReconstructedSwaggerJSONOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIInventoryAPIIDReconstructedSwaggerJSONDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIInventoryAPIIDReconstructedSwaggerJSONOK creates a GetAPIInventoryAPIIDReconstructedSwaggerJSONOK with default headers values +func NewGetAPIInventoryAPIIDReconstructedSwaggerJSONOK() *GetAPIInventoryAPIIDReconstructedSwaggerJSONOK { + return &GetAPIInventoryAPIIDReconstructedSwaggerJSONOK{} +} + +/* GetAPIInventoryAPIIDReconstructedSwaggerJSONOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIInventoryAPIIDReconstructedSwaggerJSONOK struct { + Payload interface{} +} + +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONOK) Error() string { + return fmt.Sprintf("[GET /apiInventory/{apiId}/reconstructed_swagger.json][%d] getApiInventoryApiIdReconstructedSwaggerJsonOK %+v", 200, o.Payload) +} +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONOK) GetPayload() interface{} { + return o.Payload +} + +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIInventoryAPIIDReconstructedSwaggerJSONDefault creates a GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault with default headers values +func NewGetAPIInventoryAPIIDReconstructedSwaggerJSONDefault(code int) *GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault { + return &GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault{ + _statusCode: code, + } +} + +/* GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API inventory API ID reconstructed swagger JSON default response +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault) Error() string { + return fmt.Sprintf("[GET /apiInventory/{apiId}/reconstructed_swagger.json][%d] GetAPIInventoryAPIIDReconstructedSwaggerJSON default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_api_inventory_api_id_specs_parameters.go b/api/client/client/operations/get_api_inventory_api_id_specs_parameters.go new file mode 100644 index 00000000..77343c50 --- /dev/null +++ b/api/client/client/operations/get_api_inventory_api_id_specs_parameters.go @@ -0,0 +1,149 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIInventoryAPIIDSpecsParams creates a new GetAPIInventoryAPIIDSpecsParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIInventoryAPIIDSpecsParams() *GetAPIInventoryAPIIDSpecsParams { + return &GetAPIInventoryAPIIDSpecsParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIInventoryAPIIDSpecsParamsWithTimeout creates a new GetAPIInventoryAPIIDSpecsParams object +// with the ability to set a timeout on a request. +func NewGetAPIInventoryAPIIDSpecsParamsWithTimeout(timeout time.Duration) *GetAPIInventoryAPIIDSpecsParams { + return &GetAPIInventoryAPIIDSpecsParams{ + timeout: timeout, + } +} + +// NewGetAPIInventoryAPIIDSpecsParamsWithContext creates a new GetAPIInventoryAPIIDSpecsParams object +// with the ability to set a context for a request. +func NewGetAPIInventoryAPIIDSpecsParamsWithContext(ctx context.Context) *GetAPIInventoryAPIIDSpecsParams { + return &GetAPIInventoryAPIIDSpecsParams{ + Context: ctx, + } +} + +// NewGetAPIInventoryAPIIDSpecsParamsWithHTTPClient creates a new GetAPIInventoryAPIIDSpecsParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIInventoryAPIIDSpecsParamsWithHTTPClient(client *http.Client) *GetAPIInventoryAPIIDSpecsParams { + return &GetAPIInventoryAPIIDSpecsParams{ + HTTPClient: client, + } +} + +/* GetAPIInventoryAPIIDSpecsParams contains all the parameters to send to the API endpoint + for the get API inventory API ID specs operation. + + Typically these are written to a http.Request. +*/ +type GetAPIInventoryAPIIDSpecsParams struct { + + // APIID. + // + // Format: uint32 + APIID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API inventory API ID specs params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryAPIIDSpecsParams) WithDefaults() *GetAPIInventoryAPIIDSpecsParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API inventory API ID specs params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryAPIIDSpecsParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get API inventory API ID specs params +func (o *GetAPIInventoryAPIIDSpecsParams) WithTimeout(timeout time.Duration) *GetAPIInventoryAPIIDSpecsParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API inventory API ID specs params +func (o *GetAPIInventoryAPIIDSpecsParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API inventory API ID specs params +func (o *GetAPIInventoryAPIIDSpecsParams) WithContext(ctx context.Context) *GetAPIInventoryAPIIDSpecsParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API inventory API ID specs params +func (o *GetAPIInventoryAPIIDSpecsParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API inventory API ID specs params +func (o *GetAPIInventoryAPIIDSpecsParams) WithHTTPClient(client *http.Client) *GetAPIInventoryAPIIDSpecsParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API inventory API ID specs params +func (o *GetAPIInventoryAPIIDSpecsParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAPIID adds the aPIID to the get API inventory API ID specs params +func (o *GetAPIInventoryAPIIDSpecsParams) WithAPIID(aPIID uint32) *GetAPIInventoryAPIIDSpecsParams { + o.SetAPIID(aPIID) + return o +} + +// SetAPIID adds the apiId to the get API inventory API ID specs params +func (o *GetAPIInventoryAPIIDSpecsParams) SetAPIID(aPIID uint32) { + o.APIID = aPIID +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIInventoryAPIIDSpecsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param apiId + if err := r.SetPathParam("apiId", swag.FormatUint32(o.APIID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_api_inventory_api_id_specs_responses.go b/api/client/client/operations/get_api_inventory_api_id_specs_responses.go new file mode 100644 index 00000000..3a06c4f2 --- /dev/null +++ b/api/client/client/operations/get_api_inventory_api_id_specs_responses.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIInventoryAPIIDSpecsReader is a Reader for the GetAPIInventoryAPIIDSpecs structure. +type GetAPIInventoryAPIIDSpecsReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIInventoryAPIIDSpecsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIInventoryAPIIDSpecsOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIInventoryAPIIDSpecsDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIInventoryAPIIDSpecsOK creates a GetAPIInventoryAPIIDSpecsOK with default headers values +func NewGetAPIInventoryAPIIDSpecsOK() *GetAPIInventoryAPIIDSpecsOK { + return &GetAPIInventoryAPIIDSpecsOK{} +} + +/* GetAPIInventoryAPIIDSpecsOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIInventoryAPIIDSpecsOK struct { + Payload *models.OpenAPISpecs +} + +func (o *GetAPIInventoryAPIIDSpecsOK) Error() string { + return fmt.Sprintf("[GET /apiInventory/{apiId}/specs][%d] getApiInventoryApiIdSpecsOK %+v", 200, o.Payload) +} +func (o *GetAPIInventoryAPIIDSpecsOK) GetPayload() *models.OpenAPISpecs { + return o.Payload +} + +func (o *GetAPIInventoryAPIIDSpecsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.OpenAPISpecs) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIInventoryAPIIDSpecsDefault creates a GetAPIInventoryAPIIDSpecsDefault with default headers values +func NewGetAPIInventoryAPIIDSpecsDefault(code int) *GetAPIInventoryAPIIDSpecsDefault { + return &GetAPIInventoryAPIIDSpecsDefault{ + _statusCode: code, + } +} + +/* GetAPIInventoryAPIIDSpecsDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIInventoryAPIIDSpecsDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API inventory API ID specs default response +func (o *GetAPIInventoryAPIIDSpecsDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIInventoryAPIIDSpecsDefault) Error() string { + return fmt.Sprintf("[GET /apiInventory/{apiId}/specs][%d] GetAPIInventoryAPIIDSpecs default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIInventoryAPIIDSpecsDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIInventoryAPIIDSpecsDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_api_inventory_api_id_suggested_review_parameters.go b/api/client/client/operations/get_api_inventory_api_id_suggested_review_parameters.go new file mode 100644 index 00000000..d14e8760 --- /dev/null +++ b/api/client/client/operations/get_api_inventory_api_id_suggested_review_parameters.go @@ -0,0 +1,149 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIInventoryAPIIDSuggestedReviewParams creates a new GetAPIInventoryAPIIDSuggestedReviewParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIInventoryAPIIDSuggestedReviewParams() *GetAPIInventoryAPIIDSuggestedReviewParams { + return &GetAPIInventoryAPIIDSuggestedReviewParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIInventoryAPIIDSuggestedReviewParamsWithTimeout creates a new GetAPIInventoryAPIIDSuggestedReviewParams object +// with the ability to set a timeout on a request. +func NewGetAPIInventoryAPIIDSuggestedReviewParamsWithTimeout(timeout time.Duration) *GetAPIInventoryAPIIDSuggestedReviewParams { + return &GetAPIInventoryAPIIDSuggestedReviewParams{ + timeout: timeout, + } +} + +// NewGetAPIInventoryAPIIDSuggestedReviewParamsWithContext creates a new GetAPIInventoryAPIIDSuggestedReviewParams object +// with the ability to set a context for a request. +func NewGetAPIInventoryAPIIDSuggestedReviewParamsWithContext(ctx context.Context) *GetAPIInventoryAPIIDSuggestedReviewParams { + return &GetAPIInventoryAPIIDSuggestedReviewParams{ + Context: ctx, + } +} + +// NewGetAPIInventoryAPIIDSuggestedReviewParamsWithHTTPClient creates a new GetAPIInventoryAPIIDSuggestedReviewParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIInventoryAPIIDSuggestedReviewParamsWithHTTPClient(client *http.Client) *GetAPIInventoryAPIIDSuggestedReviewParams { + return &GetAPIInventoryAPIIDSuggestedReviewParams{ + HTTPClient: client, + } +} + +/* GetAPIInventoryAPIIDSuggestedReviewParams contains all the parameters to send to the API endpoint + for the get API inventory API ID suggested review operation. + + Typically these are written to a http.Request. +*/ +type GetAPIInventoryAPIIDSuggestedReviewParams struct { + + // APIID. + // + // Format: uint32 + APIID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API inventory API ID suggested review params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) WithDefaults() *GetAPIInventoryAPIIDSuggestedReviewParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API inventory API ID suggested review params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get API inventory API ID suggested review params +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) WithTimeout(timeout time.Duration) *GetAPIInventoryAPIIDSuggestedReviewParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API inventory API ID suggested review params +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API inventory API ID suggested review params +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) WithContext(ctx context.Context) *GetAPIInventoryAPIIDSuggestedReviewParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API inventory API ID suggested review params +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API inventory API ID suggested review params +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) WithHTTPClient(client *http.Client) *GetAPIInventoryAPIIDSuggestedReviewParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API inventory API ID suggested review params +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAPIID adds the aPIID to the get API inventory API ID suggested review params +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) WithAPIID(aPIID uint32) *GetAPIInventoryAPIIDSuggestedReviewParams { + o.SetAPIID(aPIID) + return o +} + +// SetAPIID adds the apiId to the get API inventory API ID suggested review params +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) SetAPIID(aPIID uint32) { + o.APIID = aPIID +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIInventoryAPIIDSuggestedReviewParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param apiId + if err := r.SetPathParam("apiId", swag.FormatUint32(o.APIID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_api_inventory_api_id_suggested_review_responses.go b/api/client/client/operations/get_api_inventory_api_id_suggested_review_responses.go new file mode 100644 index 00000000..a12f588e --- /dev/null +++ b/api/client/client/operations/get_api_inventory_api_id_suggested_review_responses.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIInventoryAPIIDSuggestedReviewReader is a Reader for the GetAPIInventoryAPIIDSuggestedReview structure. +type GetAPIInventoryAPIIDSuggestedReviewReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIInventoryAPIIDSuggestedReviewReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIInventoryAPIIDSuggestedReviewOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIInventoryAPIIDSuggestedReviewDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIInventoryAPIIDSuggestedReviewOK creates a GetAPIInventoryAPIIDSuggestedReviewOK with default headers values +func NewGetAPIInventoryAPIIDSuggestedReviewOK() *GetAPIInventoryAPIIDSuggestedReviewOK { + return &GetAPIInventoryAPIIDSuggestedReviewOK{} +} + +/* GetAPIInventoryAPIIDSuggestedReviewOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIInventoryAPIIDSuggestedReviewOK struct { + Payload *models.SuggestedReview +} + +func (o *GetAPIInventoryAPIIDSuggestedReviewOK) Error() string { + return fmt.Sprintf("[GET /apiInventory/{apiId}/suggestedReview][%d] getApiInventoryApiIdSuggestedReviewOK %+v", 200, o.Payload) +} +func (o *GetAPIInventoryAPIIDSuggestedReviewOK) GetPayload() *models.SuggestedReview { + return o.Payload +} + +func (o *GetAPIInventoryAPIIDSuggestedReviewOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.SuggestedReview) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIInventoryAPIIDSuggestedReviewDefault creates a GetAPIInventoryAPIIDSuggestedReviewDefault with default headers values +func NewGetAPIInventoryAPIIDSuggestedReviewDefault(code int) *GetAPIInventoryAPIIDSuggestedReviewDefault { + return &GetAPIInventoryAPIIDSuggestedReviewDefault{ + _statusCode: code, + } +} + +/* GetAPIInventoryAPIIDSuggestedReviewDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIInventoryAPIIDSuggestedReviewDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API inventory API ID suggested review default response +func (o *GetAPIInventoryAPIIDSuggestedReviewDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIInventoryAPIIDSuggestedReviewDefault) Error() string { + return fmt.Sprintf("[GET /apiInventory/{apiId}/suggestedReview][%d] GetAPIInventoryAPIIDSuggestedReview default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIInventoryAPIIDSuggestedReviewDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIInventoryAPIIDSuggestedReviewDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_api_inventory_parameters.go b/api/client/client/operations/get_api_inventory_parameters.go new file mode 100644 index 00000000..16261a45 --- /dev/null +++ b/api/client/client/operations/get_api_inventory_parameters.go @@ -0,0 +1,651 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIInventoryParams creates a new GetAPIInventoryParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIInventoryParams() *GetAPIInventoryParams { + return &GetAPIInventoryParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIInventoryParamsWithTimeout creates a new GetAPIInventoryParams object +// with the ability to set a timeout on a request. +func NewGetAPIInventoryParamsWithTimeout(timeout time.Duration) *GetAPIInventoryParams { + return &GetAPIInventoryParams{ + timeout: timeout, + } +} + +// NewGetAPIInventoryParamsWithContext creates a new GetAPIInventoryParams object +// with the ability to set a context for a request. +func NewGetAPIInventoryParamsWithContext(ctx context.Context) *GetAPIInventoryParams { + return &GetAPIInventoryParams{ + Context: ctx, + } +} + +// NewGetAPIInventoryParamsWithHTTPClient creates a new GetAPIInventoryParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIInventoryParamsWithHTTPClient(client *http.Client) *GetAPIInventoryParams { + return &GetAPIInventoryParams{ + HTTPClient: client, + } +} + +/* GetAPIInventoryParams contains all the parameters to send to the API endpoint + for the get API inventory operation. + + Typically these are written to a http.Request. +*/ +type GetAPIInventoryParams struct { + + /* APIID. + + api id to return + */ + APIID *string + + // HasProvidedSpecIs. + HasProvidedSpecIs *bool + + // HasReconstructedSpecIs. + HasReconstructedSpecIs *bool + + // NameContains. + NameContains []string + + // NameEnd. + NameEnd *string + + // NameIsNot. + NameIsNot []string + + // NameIs. + NameIs []string + + // NameStart. + NameStart *string + + /* Page. + + Page number of the query + */ + Page int64 + + /* PageSize. + + Maximum items to return + */ + PageSize int64 + + // PortIsNot. + PortIsNot []string + + // PortIs. + PortIs []string + + /* SortDir. + + Sorting direction + + Default: "ASC" + */ + SortDir *string + + /* SortKey. + + Sort key + */ + SortKey string + + /* Type. + + API type [INTERNAL or EXTERNAL] + */ + Type string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API inventory params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryParams) WithDefaults() *GetAPIInventoryParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API inventory params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIInventoryParams) SetDefaults() { + var ( + sortDirDefault = string("ASC") + ) + + val := GetAPIInventoryParams{ + SortDir: &sortDirDefault, + } + + val.timeout = o.timeout + val.Context = o.Context + val.HTTPClient = o.HTTPClient + *o = val +} + +// WithTimeout adds the timeout to the get API inventory params +func (o *GetAPIInventoryParams) WithTimeout(timeout time.Duration) *GetAPIInventoryParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API inventory params +func (o *GetAPIInventoryParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API inventory params +func (o *GetAPIInventoryParams) WithContext(ctx context.Context) *GetAPIInventoryParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API inventory params +func (o *GetAPIInventoryParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API inventory params +func (o *GetAPIInventoryParams) WithHTTPClient(client *http.Client) *GetAPIInventoryParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API inventory params +func (o *GetAPIInventoryParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAPIID adds the aPIID to the get API inventory params +func (o *GetAPIInventoryParams) WithAPIID(aPIID *string) *GetAPIInventoryParams { + o.SetAPIID(aPIID) + return o +} + +// SetAPIID adds the apiId to the get API inventory params +func (o *GetAPIInventoryParams) SetAPIID(aPIID *string) { + o.APIID = aPIID +} + +// WithHasProvidedSpecIs adds the hasProvidedSpecIs to the get API inventory params +func (o *GetAPIInventoryParams) WithHasProvidedSpecIs(hasProvidedSpecIs *bool) *GetAPIInventoryParams { + o.SetHasProvidedSpecIs(hasProvidedSpecIs) + return o +} + +// SetHasProvidedSpecIs adds the hasProvidedSpecIs to the get API inventory params +func (o *GetAPIInventoryParams) SetHasProvidedSpecIs(hasProvidedSpecIs *bool) { + o.HasProvidedSpecIs = hasProvidedSpecIs +} + +// WithHasReconstructedSpecIs adds the hasReconstructedSpecIs to the get API inventory params +func (o *GetAPIInventoryParams) WithHasReconstructedSpecIs(hasReconstructedSpecIs *bool) *GetAPIInventoryParams { + o.SetHasReconstructedSpecIs(hasReconstructedSpecIs) + return o +} + +// SetHasReconstructedSpecIs adds the hasReconstructedSpecIs to the get API inventory params +func (o *GetAPIInventoryParams) SetHasReconstructedSpecIs(hasReconstructedSpecIs *bool) { + o.HasReconstructedSpecIs = hasReconstructedSpecIs +} + +// WithNameContains adds the nameContains to the get API inventory params +func (o *GetAPIInventoryParams) WithNameContains(nameContains []string) *GetAPIInventoryParams { + o.SetNameContains(nameContains) + return o +} + +// SetNameContains adds the nameContains to the get API inventory params +func (o *GetAPIInventoryParams) SetNameContains(nameContains []string) { + o.NameContains = nameContains +} + +// WithNameEnd adds the nameEnd to the get API inventory params +func (o *GetAPIInventoryParams) WithNameEnd(nameEnd *string) *GetAPIInventoryParams { + o.SetNameEnd(nameEnd) + return o +} + +// SetNameEnd adds the nameEnd to the get API inventory params +func (o *GetAPIInventoryParams) SetNameEnd(nameEnd *string) { + o.NameEnd = nameEnd +} + +// WithNameIsNot adds the nameIsNot to the get API inventory params +func (o *GetAPIInventoryParams) WithNameIsNot(nameIsNot []string) *GetAPIInventoryParams { + o.SetNameIsNot(nameIsNot) + return o +} + +// SetNameIsNot adds the nameIsNot to the get API inventory params +func (o *GetAPIInventoryParams) SetNameIsNot(nameIsNot []string) { + o.NameIsNot = nameIsNot +} + +// WithNameIs adds the nameIs to the get API inventory params +func (o *GetAPIInventoryParams) WithNameIs(nameIs []string) *GetAPIInventoryParams { + o.SetNameIs(nameIs) + return o +} + +// SetNameIs adds the nameIs to the get API inventory params +func (o *GetAPIInventoryParams) SetNameIs(nameIs []string) { + o.NameIs = nameIs +} + +// WithNameStart adds the nameStart to the get API inventory params +func (o *GetAPIInventoryParams) WithNameStart(nameStart *string) *GetAPIInventoryParams { + o.SetNameStart(nameStart) + return o +} + +// SetNameStart adds the nameStart to the get API inventory params +func (o *GetAPIInventoryParams) SetNameStart(nameStart *string) { + o.NameStart = nameStart +} + +// WithPage adds the page to the get API inventory params +func (o *GetAPIInventoryParams) WithPage(page int64) *GetAPIInventoryParams { + o.SetPage(page) + return o +} + +// SetPage adds the page to the get API inventory params +func (o *GetAPIInventoryParams) SetPage(page int64) { + o.Page = page +} + +// WithPageSize adds the pageSize to the get API inventory params +func (o *GetAPIInventoryParams) WithPageSize(pageSize int64) *GetAPIInventoryParams { + o.SetPageSize(pageSize) + return o +} + +// SetPageSize adds the pageSize to the get API inventory params +func (o *GetAPIInventoryParams) SetPageSize(pageSize int64) { + o.PageSize = pageSize +} + +// WithPortIsNot adds the portIsNot to the get API inventory params +func (o *GetAPIInventoryParams) WithPortIsNot(portIsNot []string) *GetAPIInventoryParams { + o.SetPortIsNot(portIsNot) + return o +} + +// SetPortIsNot adds the portIsNot to the get API inventory params +func (o *GetAPIInventoryParams) SetPortIsNot(portIsNot []string) { + o.PortIsNot = portIsNot +} + +// WithPortIs adds the portIs to the get API inventory params +func (o *GetAPIInventoryParams) WithPortIs(portIs []string) *GetAPIInventoryParams { + o.SetPortIs(portIs) + return o +} + +// SetPortIs adds the portIs to the get API inventory params +func (o *GetAPIInventoryParams) SetPortIs(portIs []string) { + o.PortIs = portIs +} + +// WithSortDir adds the sortDir to the get API inventory params +func (o *GetAPIInventoryParams) WithSortDir(sortDir *string) *GetAPIInventoryParams { + o.SetSortDir(sortDir) + return o +} + +// SetSortDir adds the sortDir to the get API inventory params +func (o *GetAPIInventoryParams) SetSortDir(sortDir *string) { + o.SortDir = sortDir +} + +// WithSortKey adds the sortKey to the get API inventory params +func (o *GetAPIInventoryParams) WithSortKey(sortKey string) *GetAPIInventoryParams { + o.SetSortKey(sortKey) + return o +} + +// SetSortKey adds the sortKey to the get API inventory params +func (o *GetAPIInventoryParams) SetSortKey(sortKey string) { + o.SortKey = sortKey +} + +// WithType adds the typeVar to the get API inventory params +func (o *GetAPIInventoryParams) WithType(typeVar string) *GetAPIInventoryParams { + o.SetType(typeVar) + return o +} + +// SetType adds the type to the get API inventory params +func (o *GetAPIInventoryParams) SetType(typeVar string) { + o.Type = typeVar +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIInventoryParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.APIID != nil { + + // query param apiId + var qrAPIID string + + if o.APIID != nil { + qrAPIID = *o.APIID + } + qAPIID := qrAPIID + if qAPIID != "" { + + if err := r.SetQueryParam("apiId", qAPIID); err != nil { + return err + } + } + } + + if o.HasProvidedSpecIs != nil { + + // query param hasProvidedSpec[is] + var qrHasProvidedSpecIs bool + + if o.HasProvidedSpecIs != nil { + qrHasProvidedSpecIs = *o.HasProvidedSpecIs + } + qHasProvidedSpecIs := swag.FormatBool(qrHasProvidedSpecIs) + if qHasProvidedSpecIs != "" { + + if err := r.SetQueryParam("hasProvidedSpec[is]", qHasProvidedSpecIs); err != nil { + return err + } + } + } + + if o.HasReconstructedSpecIs != nil { + + // query param hasReconstructedSpec[is] + var qrHasReconstructedSpecIs bool + + if o.HasReconstructedSpecIs != nil { + qrHasReconstructedSpecIs = *o.HasReconstructedSpecIs + } + qHasReconstructedSpecIs := swag.FormatBool(qrHasReconstructedSpecIs) + if qHasReconstructedSpecIs != "" { + + if err := r.SetQueryParam("hasReconstructedSpec[is]", qHasReconstructedSpecIs); err != nil { + return err + } + } + } + + if o.NameContains != nil { + + // binding items for name[contains] + joinedNameContains := o.bindParamNameContains(reg) + + // query array param name[contains] + if err := r.SetQueryParam("name[contains]", joinedNameContains...); err != nil { + return err + } + } + + if o.NameEnd != nil { + + // query param name[end] + var qrNameEnd string + + if o.NameEnd != nil { + qrNameEnd = *o.NameEnd + } + qNameEnd := qrNameEnd + if qNameEnd != "" { + + if err := r.SetQueryParam("name[end]", qNameEnd); err != nil { + return err + } + } + } + + if o.NameIsNot != nil { + + // binding items for name[isNot] + joinedNameIsNot := o.bindParamNameIsNot(reg) + + // query array param name[isNot] + if err := r.SetQueryParam("name[isNot]", joinedNameIsNot...); err != nil { + return err + } + } + + if o.NameIs != nil { + + // binding items for name[is] + joinedNameIs := o.bindParamNameIs(reg) + + // query array param name[is] + if err := r.SetQueryParam("name[is]", joinedNameIs...); err != nil { + return err + } + } + + if o.NameStart != nil { + + // query param name[start] + var qrNameStart string + + if o.NameStart != nil { + qrNameStart = *o.NameStart + } + qNameStart := qrNameStart + if qNameStart != "" { + + if err := r.SetQueryParam("name[start]", qNameStart); err != nil { + return err + } + } + } + + // query param page + qrPage := o.Page + qPage := swag.FormatInt64(qrPage) + if qPage != "" { + + if err := r.SetQueryParam("page", qPage); err != nil { + return err + } + } + + // query param pageSize + qrPageSize := o.PageSize + qPageSize := swag.FormatInt64(qrPageSize) + if qPageSize != "" { + + if err := r.SetQueryParam("pageSize", qPageSize); err != nil { + return err + } + } + + if o.PortIsNot != nil { + + // binding items for port[isNot] + joinedPortIsNot := o.bindParamPortIsNot(reg) + + // query array param port[isNot] + if err := r.SetQueryParam("port[isNot]", joinedPortIsNot...); err != nil { + return err + } + } + + if o.PortIs != nil { + + // binding items for port[is] + joinedPortIs := o.bindParamPortIs(reg) + + // query array param port[is] + if err := r.SetQueryParam("port[is]", joinedPortIs...); err != nil { + return err + } + } + + if o.SortDir != nil { + + // query param sortDir + var qrSortDir string + + if o.SortDir != nil { + qrSortDir = *o.SortDir + } + qSortDir := qrSortDir + if qSortDir != "" { + + if err := r.SetQueryParam("sortDir", qSortDir); err != nil { + return err + } + } + } + + // query param sortKey + qrSortKey := o.SortKey + qSortKey := qrSortKey + if qSortKey != "" { + + if err := r.SetQueryParam("sortKey", qSortKey); err != nil { + return err + } + } + + // query param type + qrType := o.Type + qType := qrType + if qType != "" { + + if err := r.SetQueryParam("type", qType); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindParamGetAPIInventory binds the parameter name[contains] +func (o *GetAPIInventoryParams) bindParamNameContains(formats strfmt.Registry) []string { + nameContainsIR := o.NameContains + + var nameContainsIC []string + for _, nameContainsIIR := range nameContainsIR { // explode []string + + nameContainsIIV := nameContainsIIR // string as string + nameContainsIC = append(nameContainsIC, nameContainsIIV) + } + + // items.CollectionFormat: "" + nameContainsIS := swag.JoinByFormat(nameContainsIC, "") + + return nameContainsIS +} + +// bindParamGetAPIInventory binds the parameter name[isNot] +func (o *GetAPIInventoryParams) bindParamNameIsNot(formats strfmt.Registry) []string { + nameIsNotIR := o.NameIsNot + + var nameIsNotIC []string + for _, nameIsNotIIR := range nameIsNotIR { // explode []string + + nameIsNotIIV := nameIsNotIIR // string as string + nameIsNotIC = append(nameIsNotIC, nameIsNotIIV) + } + + // items.CollectionFormat: "" + nameIsNotIS := swag.JoinByFormat(nameIsNotIC, "") + + return nameIsNotIS +} + +// bindParamGetAPIInventory binds the parameter name[is] +func (o *GetAPIInventoryParams) bindParamNameIs(formats strfmt.Registry) []string { + nameIsIR := o.NameIs + + var nameIsIC []string + for _, nameIsIIR := range nameIsIR { // explode []string + + nameIsIIV := nameIsIIR // string as string + nameIsIC = append(nameIsIC, nameIsIIV) + } + + // items.CollectionFormat: "" + nameIsIS := swag.JoinByFormat(nameIsIC, "") + + return nameIsIS +} + +// bindParamGetAPIInventory binds the parameter port[isNot] +func (o *GetAPIInventoryParams) bindParamPortIsNot(formats strfmt.Registry) []string { + portIsNotIR := o.PortIsNot + + var portIsNotIC []string + for _, portIsNotIIR := range portIsNotIR { // explode []string + + portIsNotIIV := portIsNotIIR // string as string + portIsNotIC = append(portIsNotIC, portIsNotIIV) + } + + // items.CollectionFormat: "" + portIsNotIS := swag.JoinByFormat(portIsNotIC, "") + + return portIsNotIS +} + +// bindParamGetAPIInventory binds the parameter port[is] +func (o *GetAPIInventoryParams) bindParamPortIs(formats strfmt.Registry) []string { + portIsIR := o.PortIs + + var portIsIC []string + for _, portIsIIR := range portIsIR { // explode []string + + portIsIIV := portIsIIR // string as string + portIsIC = append(portIsIC, portIsIIV) + } + + // items.CollectionFormat: "" + portIsIS := swag.JoinByFormat(portIsIC, "") + + return portIsIS +} diff --git a/api/client/client/operations/get_api_inventory_responses.go b/api/client/client/operations/get_api_inventory_responses.go new file mode 100644 index 00000000..e218c566 --- /dev/null +++ b/api/client/client/operations/get_api_inventory_responses.go @@ -0,0 +1,234 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "fmt" + "io" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIInventoryReader is a Reader for the GetAPIInventory structure. +type GetAPIInventoryReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIInventoryReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIInventoryOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIInventoryDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIInventoryOK creates a GetAPIInventoryOK with default headers values +func NewGetAPIInventoryOK() *GetAPIInventoryOK { + return &GetAPIInventoryOK{} +} + +/* GetAPIInventoryOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIInventoryOK struct { + Payload *GetAPIInventoryOKBody +} + +func (o *GetAPIInventoryOK) Error() string { + return fmt.Sprintf("[GET /apiInventory][%d] getApiInventoryOK %+v", 200, o.Payload) +} +func (o *GetAPIInventoryOK) GetPayload() *GetAPIInventoryOKBody { + return o.Payload +} + +func (o *GetAPIInventoryOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(GetAPIInventoryOKBody) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIInventoryDefault creates a GetAPIInventoryDefault with default headers values +func NewGetAPIInventoryDefault(code int) *GetAPIInventoryDefault { + return &GetAPIInventoryDefault{ + _statusCode: code, + } +} + +/* GetAPIInventoryDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIInventoryDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API inventory default response +func (o *GetAPIInventoryDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIInventoryDefault) Error() string { + return fmt.Sprintf("[GET /apiInventory][%d] GetAPIInventory default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIInventoryDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIInventoryDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +/*GetAPIInventoryOKBody get API inventory o k body +swagger:model GetAPIInventoryOKBody +*/ +type GetAPIInventoryOKBody struct { + + // List of filtered APIs in the given page. List length must be lower or equal to pageSize + Items []*models.APIInfo `json:"items"` + + // Total filtered APIs count + // Required: true + Total *int64 `json:"total"` +} + +// Validate validates this get API inventory o k body +func (o *GetAPIInventoryOKBody) Validate(formats strfmt.Registry) error { + var res []error + + if err := o.validateItems(formats); err != nil { + res = append(res, err) + } + + if err := o.validateTotal(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (o *GetAPIInventoryOKBody) validateItems(formats strfmt.Registry) error { + if swag.IsZero(o.Items) { // not required + return nil + } + + for i := 0; i < len(o.Items); i++ { + if swag.IsZero(o.Items[i]) { // not required + continue + } + + if o.Items[i] != nil { + if err := o.Items[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("getApiInventoryOK" + "." + "items" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (o *GetAPIInventoryOKBody) validateTotal(formats strfmt.Registry) error { + + if err := validate.Required("getApiInventoryOK"+"."+"total", "body", o.Total); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this get API inventory o k body based on the context it is used +func (o *GetAPIInventoryOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := o.contextValidateItems(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (o *GetAPIInventoryOKBody) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(o.Items); i++ { + + if o.Items[i] != nil { + if err := o.Items[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("getApiInventoryOK" + "." + "items" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (o *GetAPIInventoryOKBody) MarshalBinary() ([]byte, error) { + if o == nil { + return nil, nil + } + return swag.WriteJSON(o) +} + +// UnmarshalBinary interface implementation +func (o *GetAPIInventoryOKBody) UnmarshalBinary(b []byte) error { + var res GetAPIInventoryOKBody + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *o = res + return nil +} diff --git a/api/client/client/operations/get_api_usage_hit_count_parameters.go b/api/client/client/operations/get_api_usage_hit_count_parameters.go new file mode 100644 index 00000000..2c778651 --- /dev/null +++ b/api/client/client/operations/get_api_usage_hit_count_parameters.go @@ -0,0 +1,1189 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewGetAPIUsageHitCountParams creates a new GetAPIUsageHitCountParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetAPIUsageHitCountParams() *GetAPIUsageHitCountParams { + return &GetAPIUsageHitCountParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetAPIUsageHitCountParamsWithTimeout creates a new GetAPIUsageHitCountParams object +// with the ability to set a timeout on a request. +func NewGetAPIUsageHitCountParamsWithTimeout(timeout time.Duration) *GetAPIUsageHitCountParams { + return &GetAPIUsageHitCountParams{ + timeout: timeout, + } +} + +// NewGetAPIUsageHitCountParamsWithContext creates a new GetAPIUsageHitCountParams object +// with the ability to set a context for a request. +func NewGetAPIUsageHitCountParamsWithContext(ctx context.Context) *GetAPIUsageHitCountParams { + return &GetAPIUsageHitCountParams{ + Context: ctx, + } +} + +// NewGetAPIUsageHitCountParamsWithHTTPClient creates a new GetAPIUsageHitCountParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetAPIUsageHitCountParamsWithHTTPClient(client *http.Client) *GetAPIUsageHitCountParams { + return &GetAPIUsageHitCountParams{ + HTTPClient: client, + } +} + +/* GetAPIUsageHitCountParams contains all the parameters to send to the API endpoint + for the get API usage hit count operation. + + Typically these are written to a http.Request. +*/ +type GetAPIUsageHitCountParams struct { + + // DestinationIPIsNot. + DestinationIPIsNot []string + + // DestinationIPIs. + DestinationIPIs []string + + // DestinationPortIsNot. + DestinationPortIsNot []string + + // DestinationPortIs. + DestinationPortIs []string + + /* EndTime. + + End time of the query + + Format: date-time + */ + EndTime strfmt.DateTime + + // HasSpecDiffIs. + HasSpecDiffIs *bool + + // MethodIs. + MethodIs []string + + // PathContains. + PathContains []string + + // PathEnd. + PathEnd *string + + // PathIsNot. + PathIsNot []string + + // PathIs. + PathIs []string + + // PathStart. + PathStart *string + + // ProvidedPathIDIs. + ProvidedPathIDIs []string + + // ReconstructedPathIDIs. + ReconstructedPathIDIs []string + + // ShowNonAPI. + ShowNonAPI bool + + // SourceIPIsNot. + SourceIPIsNot []string + + // SourceIPIs. + SourceIPIs []string + + // SpecDiffTypeIs. + SpecDiffTypeIs []string + + // SpecContains. + SpecContains []string + + // SpecEnd. + SpecEnd *string + + // SpecIsNot. + SpecIsNot []string + + // SpecIs. + SpecIs []string + + // SpecStart. + SpecStart *string + + /* StartTime. + + Start time of the query + + Format: date-time + */ + StartTime strfmt.DateTime + + /* StatusCodeGte. + + greater than or equal + */ + StatusCodeGte *string + + // StatusCodeIsNot. + StatusCodeIsNot []string + + // StatusCodeIs. + StatusCodeIs []string + + /* StatusCodeLte. + + less than or equal + */ + StatusCodeLte *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get API usage hit count params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIUsageHitCountParams) WithDefaults() *GetAPIUsageHitCountParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get API usage hit count params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetAPIUsageHitCountParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithTimeout(timeout time.Duration) *GetAPIUsageHitCountParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithContext(ctx context.Context) *GetAPIUsageHitCountParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithHTTPClient(client *http.Client) *GetAPIUsageHitCountParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithDestinationIPIsNot adds the destinationIPIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithDestinationIPIsNot(destinationIPIsNot []string) *GetAPIUsageHitCountParams { + o.SetDestinationIPIsNot(destinationIPIsNot) + return o +} + +// SetDestinationIPIsNot adds the destinationIpIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetDestinationIPIsNot(destinationIPIsNot []string) { + o.DestinationIPIsNot = destinationIPIsNot +} + +// WithDestinationIPIs adds the destinationIPIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithDestinationIPIs(destinationIPIs []string) *GetAPIUsageHitCountParams { + o.SetDestinationIPIs(destinationIPIs) + return o +} + +// SetDestinationIPIs adds the destinationIpIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetDestinationIPIs(destinationIPIs []string) { + o.DestinationIPIs = destinationIPIs +} + +// WithDestinationPortIsNot adds the destinationPortIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithDestinationPortIsNot(destinationPortIsNot []string) *GetAPIUsageHitCountParams { + o.SetDestinationPortIsNot(destinationPortIsNot) + return o +} + +// SetDestinationPortIsNot adds the destinationPortIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetDestinationPortIsNot(destinationPortIsNot []string) { + o.DestinationPortIsNot = destinationPortIsNot +} + +// WithDestinationPortIs adds the destinationPortIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithDestinationPortIs(destinationPortIs []string) *GetAPIUsageHitCountParams { + o.SetDestinationPortIs(destinationPortIs) + return o +} + +// SetDestinationPortIs adds the destinationPortIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetDestinationPortIs(destinationPortIs []string) { + o.DestinationPortIs = destinationPortIs +} + +// WithEndTime adds the endTime to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithEndTime(endTime strfmt.DateTime) *GetAPIUsageHitCountParams { + o.SetEndTime(endTime) + return o +} + +// SetEndTime adds the endTime to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetEndTime(endTime strfmt.DateTime) { + o.EndTime = endTime +} + +// WithHasSpecDiffIs adds the hasSpecDiffIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithHasSpecDiffIs(hasSpecDiffIs *bool) *GetAPIUsageHitCountParams { + o.SetHasSpecDiffIs(hasSpecDiffIs) + return o +} + +// SetHasSpecDiffIs adds the hasSpecDiffIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetHasSpecDiffIs(hasSpecDiffIs *bool) { + o.HasSpecDiffIs = hasSpecDiffIs +} + +// WithMethodIs adds the methodIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithMethodIs(methodIs []string) *GetAPIUsageHitCountParams { + o.SetMethodIs(methodIs) + return o +} + +// SetMethodIs adds the methodIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetMethodIs(methodIs []string) { + o.MethodIs = methodIs +} + +// WithPathContains adds the pathContains to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithPathContains(pathContains []string) *GetAPIUsageHitCountParams { + o.SetPathContains(pathContains) + return o +} + +// SetPathContains adds the pathContains to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetPathContains(pathContains []string) { + o.PathContains = pathContains +} + +// WithPathEnd adds the pathEnd to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithPathEnd(pathEnd *string) *GetAPIUsageHitCountParams { + o.SetPathEnd(pathEnd) + return o +} + +// SetPathEnd adds the pathEnd to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetPathEnd(pathEnd *string) { + o.PathEnd = pathEnd +} + +// WithPathIsNot adds the pathIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithPathIsNot(pathIsNot []string) *GetAPIUsageHitCountParams { + o.SetPathIsNot(pathIsNot) + return o +} + +// SetPathIsNot adds the pathIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetPathIsNot(pathIsNot []string) { + o.PathIsNot = pathIsNot +} + +// WithPathIs adds the pathIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithPathIs(pathIs []string) *GetAPIUsageHitCountParams { + o.SetPathIs(pathIs) + return o +} + +// SetPathIs adds the pathIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetPathIs(pathIs []string) { + o.PathIs = pathIs +} + +// WithPathStart adds the pathStart to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithPathStart(pathStart *string) *GetAPIUsageHitCountParams { + o.SetPathStart(pathStart) + return o +} + +// SetPathStart adds the pathStart to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetPathStart(pathStart *string) { + o.PathStart = pathStart +} + +// WithProvidedPathIDIs adds the providedPathIDIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithProvidedPathIDIs(providedPathIDIs []string) *GetAPIUsageHitCountParams { + o.SetProvidedPathIDIs(providedPathIDIs) + return o +} + +// SetProvidedPathIDIs adds the providedPathIdIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetProvidedPathIDIs(providedPathIDIs []string) { + o.ProvidedPathIDIs = providedPathIDIs +} + +// WithReconstructedPathIDIs adds the reconstructedPathIDIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithReconstructedPathIDIs(reconstructedPathIDIs []string) *GetAPIUsageHitCountParams { + o.SetReconstructedPathIDIs(reconstructedPathIDIs) + return o +} + +// SetReconstructedPathIDIs adds the reconstructedPathIdIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetReconstructedPathIDIs(reconstructedPathIDIs []string) { + o.ReconstructedPathIDIs = reconstructedPathIDIs +} + +// WithShowNonAPI adds the showNonAPI to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithShowNonAPI(showNonAPI bool) *GetAPIUsageHitCountParams { + o.SetShowNonAPI(showNonAPI) + return o +} + +// SetShowNonAPI adds the showNonApi to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetShowNonAPI(showNonAPI bool) { + o.ShowNonAPI = showNonAPI +} + +// WithSourceIPIsNot adds the sourceIPIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithSourceIPIsNot(sourceIPIsNot []string) *GetAPIUsageHitCountParams { + o.SetSourceIPIsNot(sourceIPIsNot) + return o +} + +// SetSourceIPIsNot adds the sourceIpIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetSourceIPIsNot(sourceIPIsNot []string) { + o.SourceIPIsNot = sourceIPIsNot +} + +// WithSourceIPIs adds the sourceIPIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithSourceIPIs(sourceIPIs []string) *GetAPIUsageHitCountParams { + o.SetSourceIPIs(sourceIPIs) + return o +} + +// SetSourceIPIs adds the sourceIpIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetSourceIPIs(sourceIPIs []string) { + o.SourceIPIs = sourceIPIs +} + +// WithSpecDiffTypeIs adds the specDiffTypeIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithSpecDiffTypeIs(specDiffTypeIs []string) *GetAPIUsageHitCountParams { + o.SetSpecDiffTypeIs(specDiffTypeIs) + return o +} + +// SetSpecDiffTypeIs adds the specDiffTypeIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetSpecDiffTypeIs(specDiffTypeIs []string) { + o.SpecDiffTypeIs = specDiffTypeIs +} + +// WithSpecContains adds the specContains to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithSpecContains(specContains []string) *GetAPIUsageHitCountParams { + o.SetSpecContains(specContains) + return o +} + +// SetSpecContains adds the specContains to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetSpecContains(specContains []string) { + o.SpecContains = specContains +} + +// WithSpecEnd adds the specEnd to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithSpecEnd(specEnd *string) *GetAPIUsageHitCountParams { + o.SetSpecEnd(specEnd) + return o +} + +// SetSpecEnd adds the specEnd to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetSpecEnd(specEnd *string) { + o.SpecEnd = specEnd +} + +// WithSpecIsNot adds the specIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithSpecIsNot(specIsNot []string) *GetAPIUsageHitCountParams { + o.SetSpecIsNot(specIsNot) + return o +} + +// SetSpecIsNot adds the specIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetSpecIsNot(specIsNot []string) { + o.SpecIsNot = specIsNot +} + +// WithSpecIs adds the specIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithSpecIs(specIs []string) *GetAPIUsageHitCountParams { + o.SetSpecIs(specIs) + return o +} + +// SetSpecIs adds the specIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetSpecIs(specIs []string) { + o.SpecIs = specIs +} + +// WithSpecStart adds the specStart to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithSpecStart(specStart *string) *GetAPIUsageHitCountParams { + o.SetSpecStart(specStart) + return o +} + +// SetSpecStart adds the specStart to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetSpecStart(specStart *string) { + o.SpecStart = specStart +} + +// WithStartTime adds the startTime to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithStartTime(startTime strfmt.DateTime) *GetAPIUsageHitCountParams { + o.SetStartTime(startTime) + return o +} + +// SetStartTime adds the startTime to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetStartTime(startTime strfmt.DateTime) { + o.StartTime = startTime +} + +// WithStatusCodeGte adds the statusCodeGte to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithStatusCodeGte(statusCodeGte *string) *GetAPIUsageHitCountParams { + o.SetStatusCodeGte(statusCodeGte) + return o +} + +// SetStatusCodeGte adds the statusCodeGte to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetStatusCodeGte(statusCodeGte *string) { + o.StatusCodeGte = statusCodeGte +} + +// WithStatusCodeIsNot adds the statusCodeIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithStatusCodeIsNot(statusCodeIsNot []string) *GetAPIUsageHitCountParams { + o.SetStatusCodeIsNot(statusCodeIsNot) + return o +} + +// SetStatusCodeIsNot adds the statusCodeIsNot to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetStatusCodeIsNot(statusCodeIsNot []string) { + o.StatusCodeIsNot = statusCodeIsNot +} + +// WithStatusCodeIs adds the statusCodeIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithStatusCodeIs(statusCodeIs []string) *GetAPIUsageHitCountParams { + o.SetStatusCodeIs(statusCodeIs) + return o +} + +// SetStatusCodeIs adds the statusCodeIs to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetStatusCodeIs(statusCodeIs []string) { + o.StatusCodeIs = statusCodeIs +} + +// WithStatusCodeLte adds the statusCodeLte to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) WithStatusCodeLte(statusCodeLte *string) *GetAPIUsageHitCountParams { + o.SetStatusCodeLte(statusCodeLte) + return o +} + +// SetStatusCodeLte adds the statusCodeLte to the get API usage hit count params +func (o *GetAPIUsageHitCountParams) SetStatusCodeLte(statusCodeLte *string) { + o.StatusCodeLte = statusCodeLte +} + +// WriteToRequest writes these params to a swagger request +func (o *GetAPIUsageHitCountParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.DestinationIPIsNot != nil { + + // binding items for destinationIP[isNot] + joinedDestinationIPIsNot := o.bindParamDestinationIPIsNot(reg) + + // query array param destinationIP[isNot] + if err := r.SetQueryParam("destinationIP[isNot]", joinedDestinationIPIsNot...); err != nil { + return err + } + } + + if o.DestinationIPIs != nil { + + // binding items for destinationIP[is] + joinedDestinationIPIs := o.bindParamDestinationIPIs(reg) + + // query array param destinationIP[is] + if err := r.SetQueryParam("destinationIP[is]", joinedDestinationIPIs...); err != nil { + return err + } + } + + if o.DestinationPortIsNot != nil { + + // binding items for destinationPort[isNot] + joinedDestinationPortIsNot := o.bindParamDestinationPortIsNot(reg) + + // query array param destinationPort[isNot] + if err := r.SetQueryParam("destinationPort[isNot]", joinedDestinationPortIsNot...); err != nil { + return err + } + } + + if o.DestinationPortIs != nil { + + // binding items for destinationPort[is] + joinedDestinationPortIs := o.bindParamDestinationPortIs(reg) + + // query array param destinationPort[is] + if err := r.SetQueryParam("destinationPort[is]", joinedDestinationPortIs...); err != nil { + return err + } + } + + // query param endTime + qrEndTime := o.EndTime + qEndTime := qrEndTime.String() + if qEndTime != "" { + + if err := r.SetQueryParam("endTime", qEndTime); err != nil { + return err + } + } + + if o.HasSpecDiffIs != nil { + + // query param hasSpecDiff[is] + var qrHasSpecDiffIs bool + + if o.HasSpecDiffIs != nil { + qrHasSpecDiffIs = *o.HasSpecDiffIs + } + qHasSpecDiffIs := swag.FormatBool(qrHasSpecDiffIs) + if qHasSpecDiffIs != "" { + + if err := r.SetQueryParam("hasSpecDiff[is]", qHasSpecDiffIs); err != nil { + return err + } + } + } + + if o.MethodIs != nil { + + // binding items for method[is] + joinedMethodIs := o.bindParamMethodIs(reg) + + // query array param method[is] + if err := r.SetQueryParam("method[is]", joinedMethodIs...); err != nil { + return err + } + } + + if o.PathContains != nil { + + // binding items for path[contains] + joinedPathContains := o.bindParamPathContains(reg) + + // query array param path[contains] + if err := r.SetQueryParam("path[contains]", joinedPathContains...); err != nil { + return err + } + } + + if o.PathEnd != nil { + + // query param path[end] + var qrPathEnd string + + if o.PathEnd != nil { + qrPathEnd = *o.PathEnd + } + qPathEnd := qrPathEnd + if qPathEnd != "" { + + if err := r.SetQueryParam("path[end]", qPathEnd); err != nil { + return err + } + } + } + + if o.PathIsNot != nil { + + // binding items for path[isNot] + joinedPathIsNot := o.bindParamPathIsNot(reg) + + // query array param path[isNot] + if err := r.SetQueryParam("path[isNot]", joinedPathIsNot...); err != nil { + return err + } + } + + if o.PathIs != nil { + + // binding items for path[is] + joinedPathIs := o.bindParamPathIs(reg) + + // query array param path[is] + if err := r.SetQueryParam("path[is]", joinedPathIs...); err != nil { + return err + } + } + + if o.PathStart != nil { + + // query param path[start] + var qrPathStart string + + if o.PathStart != nil { + qrPathStart = *o.PathStart + } + qPathStart := qrPathStart + if qPathStart != "" { + + if err := r.SetQueryParam("path[start]", qPathStart); err != nil { + return err + } + } + } + + if o.ProvidedPathIDIs != nil { + + // binding items for providedPathID[is] + joinedProvidedPathIDIs := o.bindParamProvidedPathIDIs(reg) + + // query array param providedPathID[is] + if err := r.SetQueryParam("providedPathID[is]", joinedProvidedPathIDIs...); err != nil { + return err + } + } + + if o.ReconstructedPathIDIs != nil { + + // binding items for reconstructedPathID[is] + joinedReconstructedPathIDIs := o.bindParamReconstructedPathIDIs(reg) + + // query array param reconstructedPathID[is] + if err := r.SetQueryParam("reconstructedPathID[is]", joinedReconstructedPathIDIs...); err != nil { + return err + } + } + + // query param showNonApi + qrShowNonAPI := o.ShowNonAPI + qShowNonAPI := swag.FormatBool(qrShowNonAPI) + if qShowNonAPI != "" { + + if err := r.SetQueryParam("showNonApi", qShowNonAPI); err != nil { + return err + } + } + + if o.SourceIPIsNot != nil { + + // binding items for sourceIP[isNot] + joinedSourceIPIsNot := o.bindParamSourceIPIsNot(reg) + + // query array param sourceIP[isNot] + if err := r.SetQueryParam("sourceIP[isNot]", joinedSourceIPIsNot...); err != nil { + return err + } + } + + if o.SourceIPIs != nil { + + // binding items for sourceIP[is] + joinedSourceIPIs := o.bindParamSourceIPIs(reg) + + // query array param sourceIP[is] + if err := r.SetQueryParam("sourceIP[is]", joinedSourceIPIs...); err != nil { + return err + } + } + + if o.SpecDiffTypeIs != nil { + + // binding items for specDiffType[is] + joinedSpecDiffTypeIs := o.bindParamSpecDiffTypeIs(reg) + + // query array param specDiffType[is] + if err := r.SetQueryParam("specDiffType[is]", joinedSpecDiffTypeIs...); err != nil { + return err + } + } + + if o.SpecContains != nil { + + // binding items for spec[contains] + joinedSpecContains := o.bindParamSpecContains(reg) + + // query array param spec[contains] + if err := r.SetQueryParam("spec[contains]", joinedSpecContains...); err != nil { + return err + } + } + + if o.SpecEnd != nil { + + // query param spec[end] + var qrSpecEnd string + + if o.SpecEnd != nil { + qrSpecEnd = *o.SpecEnd + } + qSpecEnd := qrSpecEnd + if qSpecEnd != "" { + + if err := r.SetQueryParam("spec[end]", qSpecEnd); err != nil { + return err + } + } + } + + if o.SpecIsNot != nil { + + // binding items for spec[isNot] + joinedSpecIsNot := o.bindParamSpecIsNot(reg) + + // query array param spec[isNot] + if err := r.SetQueryParam("spec[isNot]", joinedSpecIsNot...); err != nil { + return err + } + } + + if o.SpecIs != nil { + + // binding items for spec[is] + joinedSpecIs := o.bindParamSpecIs(reg) + + // query array param spec[is] + if err := r.SetQueryParam("spec[is]", joinedSpecIs...); err != nil { + return err + } + } + + if o.SpecStart != nil { + + // query param spec[start] + var qrSpecStart string + + if o.SpecStart != nil { + qrSpecStart = *o.SpecStart + } + qSpecStart := qrSpecStart + if qSpecStart != "" { + + if err := r.SetQueryParam("spec[start]", qSpecStart); err != nil { + return err + } + } + } + + // query param startTime + qrStartTime := o.StartTime + qStartTime := qrStartTime.String() + if qStartTime != "" { + + if err := r.SetQueryParam("startTime", qStartTime); err != nil { + return err + } + } + + if o.StatusCodeGte != nil { + + // query param statusCode[gte] + var qrStatusCodeGte string + + if o.StatusCodeGte != nil { + qrStatusCodeGte = *o.StatusCodeGte + } + qStatusCodeGte := qrStatusCodeGte + if qStatusCodeGte != "" { + + if err := r.SetQueryParam("statusCode[gte]", qStatusCodeGte); err != nil { + return err + } + } + } + + if o.StatusCodeIsNot != nil { + + // binding items for statusCode[isNot] + joinedStatusCodeIsNot := o.bindParamStatusCodeIsNot(reg) + + // query array param statusCode[isNot] + if err := r.SetQueryParam("statusCode[isNot]", joinedStatusCodeIsNot...); err != nil { + return err + } + } + + if o.StatusCodeIs != nil { + + // binding items for statusCode[is] + joinedStatusCodeIs := o.bindParamStatusCodeIs(reg) + + // query array param statusCode[is] + if err := r.SetQueryParam("statusCode[is]", joinedStatusCodeIs...); err != nil { + return err + } + } + + if o.StatusCodeLte != nil { + + // query param statusCode[lte] + var qrStatusCodeLte string + + if o.StatusCodeLte != nil { + qrStatusCodeLte = *o.StatusCodeLte + } + qStatusCodeLte := qrStatusCodeLte + if qStatusCodeLte != "" { + + if err := r.SetQueryParam("statusCode[lte]", qStatusCodeLte); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindParamGetAPIUsageHitCount binds the parameter destinationIP[isNot] +func (o *GetAPIUsageHitCountParams) bindParamDestinationIPIsNot(formats strfmt.Registry) []string { + destinationIPIsNotIR := o.DestinationIPIsNot + + var destinationIPIsNotIC []string + for _, destinationIPIsNotIIR := range destinationIPIsNotIR { // explode []string + + destinationIPIsNotIIV := destinationIPIsNotIIR // string as string + destinationIPIsNotIC = append(destinationIPIsNotIC, destinationIPIsNotIIV) + } + + // items.CollectionFormat: "" + destinationIPIsNotIS := swag.JoinByFormat(destinationIPIsNotIC, "") + + return destinationIPIsNotIS +} + +// bindParamGetAPIUsageHitCount binds the parameter destinationIP[is] +func (o *GetAPIUsageHitCountParams) bindParamDestinationIPIs(formats strfmt.Registry) []string { + destinationIPIsIR := o.DestinationIPIs + + var destinationIPIsIC []string + for _, destinationIPIsIIR := range destinationIPIsIR { // explode []string + + destinationIPIsIIV := destinationIPIsIIR // string as string + destinationIPIsIC = append(destinationIPIsIC, destinationIPIsIIV) + } + + // items.CollectionFormat: "" + destinationIPIsIS := swag.JoinByFormat(destinationIPIsIC, "") + + return destinationIPIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter destinationPort[isNot] +func (o *GetAPIUsageHitCountParams) bindParamDestinationPortIsNot(formats strfmt.Registry) []string { + destinationPortIsNotIR := o.DestinationPortIsNot + + var destinationPortIsNotIC []string + for _, destinationPortIsNotIIR := range destinationPortIsNotIR { // explode []string + + destinationPortIsNotIIV := destinationPortIsNotIIR // string as string + destinationPortIsNotIC = append(destinationPortIsNotIC, destinationPortIsNotIIV) + } + + // items.CollectionFormat: "" + destinationPortIsNotIS := swag.JoinByFormat(destinationPortIsNotIC, "") + + return destinationPortIsNotIS +} + +// bindParamGetAPIUsageHitCount binds the parameter destinationPort[is] +func (o *GetAPIUsageHitCountParams) bindParamDestinationPortIs(formats strfmt.Registry) []string { + destinationPortIsIR := o.DestinationPortIs + + var destinationPortIsIC []string + for _, destinationPortIsIIR := range destinationPortIsIR { // explode []string + + destinationPortIsIIV := destinationPortIsIIR // string as string + destinationPortIsIC = append(destinationPortIsIC, destinationPortIsIIV) + } + + // items.CollectionFormat: "" + destinationPortIsIS := swag.JoinByFormat(destinationPortIsIC, "") + + return destinationPortIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter method[is] +func (o *GetAPIUsageHitCountParams) bindParamMethodIs(formats strfmt.Registry) []string { + methodIsIR := o.MethodIs + + var methodIsIC []string + for _, methodIsIIR := range methodIsIR { // explode []string + + methodIsIIV := methodIsIIR // string as string + methodIsIC = append(methodIsIC, methodIsIIV) + } + + // items.CollectionFormat: "" + methodIsIS := swag.JoinByFormat(methodIsIC, "") + + return methodIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter path[contains] +func (o *GetAPIUsageHitCountParams) bindParamPathContains(formats strfmt.Registry) []string { + pathContainsIR := o.PathContains + + var pathContainsIC []string + for _, pathContainsIIR := range pathContainsIR { // explode []string + + pathContainsIIV := pathContainsIIR // string as string + pathContainsIC = append(pathContainsIC, pathContainsIIV) + } + + // items.CollectionFormat: "" + pathContainsIS := swag.JoinByFormat(pathContainsIC, "") + + return pathContainsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter path[isNot] +func (o *GetAPIUsageHitCountParams) bindParamPathIsNot(formats strfmt.Registry) []string { + pathIsNotIR := o.PathIsNot + + var pathIsNotIC []string + for _, pathIsNotIIR := range pathIsNotIR { // explode []string + + pathIsNotIIV := pathIsNotIIR // string as string + pathIsNotIC = append(pathIsNotIC, pathIsNotIIV) + } + + // items.CollectionFormat: "" + pathIsNotIS := swag.JoinByFormat(pathIsNotIC, "") + + return pathIsNotIS +} + +// bindParamGetAPIUsageHitCount binds the parameter path[is] +func (o *GetAPIUsageHitCountParams) bindParamPathIs(formats strfmt.Registry) []string { + pathIsIR := o.PathIs + + var pathIsIC []string + for _, pathIsIIR := range pathIsIR { // explode []string + + pathIsIIV := pathIsIIR // string as string + pathIsIC = append(pathIsIC, pathIsIIV) + } + + // items.CollectionFormat: "" + pathIsIS := swag.JoinByFormat(pathIsIC, "") + + return pathIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter providedPathID[is] +func (o *GetAPIUsageHitCountParams) bindParamProvidedPathIDIs(formats strfmt.Registry) []string { + providedPathIDIsIR := o.ProvidedPathIDIs + + var providedPathIDIsIC []string + for _, providedPathIDIsIIR := range providedPathIDIsIR { // explode []string + + providedPathIDIsIIV := providedPathIDIsIIR // string as string + providedPathIDIsIC = append(providedPathIDIsIC, providedPathIDIsIIV) + } + + // items.CollectionFormat: "" + providedPathIDIsIS := swag.JoinByFormat(providedPathIDIsIC, "") + + return providedPathIDIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter reconstructedPathID[is] +func (o *GetAPIUsageHitCountParams) bindParamReconstructedPathIDIs(formats strfmt.Registry) []string { + reconstructedPathIDIsIR := o.ReconstructedPathIDIs + + var reconstructedPathIDIsIC []string + for _, reconstructedPathIDIsIIR := range reconstructedPathIDIsIR { // explode []string + + reconstructedPathIDIsIIV := reconstructedPathIDIsIIR // string as string + reconstructedPathIDIsIC = append(reconstructedPathIDIsIC, reconstructedPathIDIsIIV) + } + + // items.CollectionFormat: "" + reconstructedPathIDIsIS := swag.JoinByFormat(reconstructedPathIDIsIC, "") + + return reconstructedPathIDIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter sourceIP[isNot] +func (o *GetAPIUsageHitCountParams) bindParamSourceIPIsNot(formats strfmt.Registry) []string { + sourceIPIsNotIR := o.SourceIPIsNot + + var sourceIPIsNotIC []string + for _, sourceIPIsNotIIR := range sourceIPIsNotIR { // explode []string + + sourceIPIsNotIIV := sourceIPIsNotIIR // string as string + sourceIPIsNotIC = append(sourceIPIsNotIC, sourceIPIsNotIIV) + } + + // items.CollectionFormat: "" + sourceIPIsNotIS := swag.JoinByFormat(sourceIPIsNotIC, "") + + return sourceIPIsNotIS +} + +// bindParamGetAPIUsageHitCount binds the parameter sourceIP[is] +func (o *GetAPIUsageHitCountParams) bindParamSourceIPIs(formats strfmt.Registry) []string { + sourceIPIsIR := o.SourceIPIs + + var sourceIPIsIC []string + for _, sourceIPIsIIR := range sourceIPIsIR { // explode []string + + sourceIPIsIIV := sourceIPIsIIR // string as string + sourceIPIsIC = append(sourceIPIsIC, sourceIPIsIIV) + } + + // items.CollectionFormat: "" + sourceIPIsIS := swag.JoinByFormat(sourceIPIsIC, "") + + return sourceIPIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter specDiffType[is] +func (o *GetAPIUsageHitCountParams) bindParamSpecDiffTypeIs(formats strfmt.Registry) []string { + specDiffTypeIsIR := o.SpecDiffTypeIs + + var specDiffTypeIsIC []string + for _, specDiffTypeIsIIR := range specDiffTypeIsIR { // explode []string + + specDiffTypeIsIIV := specDiffTypeIsIIR // string as string + specDiffTypeIsIC = append(specDiffTypeIsIC, specDiffTypeIsIIV) + } + + // items.CollectionFormat: "" + specDiffTypeIsIS := swag.JoinByFormat(specDiffTypeIsIC, "") + + return specDiffTypeIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter spec[contains] +func (o *GetAPIUsageHitCountParams) bindParamSpecContains(formats strfmt.Registry) []string { + specContainsIR := o.SpecContains + + var specContainsIC []string + for _, specContainsIIR := range specContainsIR { // explode []string + + specContainsIIV := specContainsIIR // string as string + specContainsIC = append(specContainsIC, specContainsIIV) + } + + // items.CollectionFormat: "" + specContainsIS := swag.JoinByFormat(specContainsIC, "") + + return specContainsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter spec[isNot] +func (o *GetAPIUsageHitCountParams) bindParamSpecIsNot(formats strfmt.Registry) []string { + specIsNotIR := o.SpecIsNot + + var specIsNotIC []string + for _, specIsNotIIR := range specIsNotIR { // explode []string + + specIsNotIIV := specIsNotIIR // string as string + specIsNotIC = append(specIsNotIC, specIsNotIIV) + } + + // items.CollectionFormat: "" + specIsNotIS := swag.JoinByFormat(specIsNotIC, "") + + return specIsNotIS +} + +// bindParamGetAPIUsageHitCount binds the parameter spec[is] +func (o *GetAPIUsageHitCountParams) bindParamSpecIs(formats strfmt.Registry) []string { + specIsIR := o.SpecIs + + var specIsIC []string + for _, specIsIIR := range specIsIR { // explode []string + + specIsIIV := specIsIIR // string as string + specIsIC = append(specIsIC, specIsIIV) + } + + // items.CollectionFormat: "" + specIsIS := swag.JoinByFormat(specIsIC, "") + + return specIsIS +} + +// bindParamGetAPIUsageHitCount binds the parameter statusCode[isNot] +func (o *GetAPIUsageHitCountParams) bindParamStatusCodeIsNot(formats strfmt.Registry) []string { + statusCodeIsNotIR := o.StatusCodeIsNot + + var statusCodeIsNotIC []string + for _, statusCodeIsNotIIR := range statusCodeIsNotIR { // explode []string + + statusCodeIsNotIIV := statusCodeIsNotIIR // string as string + statusCodeIsNotIC = append(statusCodeIsNotIC, statusCodeIsNotIIV) + } + + // items.CollectionFormat: "" + statusCodeIsNotIS := swag.JoinByFormat(statusCodeIsNotIC, "") + + return statusCodeIsNotIS +} + +// bindParamGetAPIUsageHitCount binds the parameter statusCode[is] +func (o *GetAPIUsageHitCountParams) bindParamStatusCodeIs(formats strfmt.Registry) []string { + statusCodeIsIR := o.StatusCodeIs + + var statusCodeIsIC []string + for _, statusCodeIsIIR := range statusCodeIsIR { // explode []string + + statusCodeIsIIV := statusCodeIsIIR // string as string + statusCodeIsIC = append(statusCodeIsIC, statusCodeIsIIV) + } + + // items.CollectionFormat: "" + statusCodeIsIS := swag.JoinByFormat(statusCodeIsIC, "") + + return statusCodeIsIS +} diff --git a/api/client/client/operations/get_api_usage_hit_count_responses.go b/api/client/client/operations/get_api_usage_hit_count_responses.go new file mode 100644 index 00000000..2dfff9cc --- /dev/null +++ b/api/client/client/operations/get_api_usage_hit_count_responses.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetAPIUsageHitCountReader is a Reader for the GetAPIUsageHitCount structure. +type GetAPIUsageHitCountReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetAPIUsageHitCountReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetAPIUsageHitCountOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetAPIUsageHitCountDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetAPIUsageHitCountOK creates a GetAPIUsageHitCountOK with default headers values +func NewGetAPIUsageHitCountOK() *GetAPIUsageHitCountOK { + return &GetAPIUsageHitCountOK{} +} + +/* GetAPIUsageHitCountOK describes a response with status code 200, with default header values. + +Success +*/ +type GetAPIUsageHitCountOK struct { + Payload []*models.HitCount +} + +func (o *GetAPIUsageHitCountOK) Error() string { + return fmt.Sprintf("[GET /apiUsage/hitCount][%d] getApiUsageHitCountOK %+v", 200, o.Payload) +} +func (o *GetAPIUsageHitCountOK) GetPayload() []*models.HitCount { + return o.Payload +} + +func (o *GetAPIUsageHitCountOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetAPIUsageHitCountDefault creates a GetAPIUsageHitCountDefault with default headers values +func NewGetAPIUsageHitCountDefault(code int) *GetAPIUsageHitCountDefault { + return &GetAPIUsageHitCountDefault{ + _statusCode: code, + } +} + +/* GetAPIUsageHitCountDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetAPIUsageHitCountDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get API usage hit count default response +func (o *GetAPIUsageHitCountDefault) Code() int { + return o._statusCode +} + +func (o *GetAPIUsageHitCountDefault) Error() string { + return fmt.Sprintf("[GET /apiUsage/hitCount][%d] GetAPIUsageHitCount default %+v", o._statusCode, o.Payload) +} +func (o *GetAPIUsageHitCountDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetAPIUsageHitCountDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_dashboard_api_usage_latest_diffs_parameters.go b/api/client/client/operations/get_dashboard_api_usage_latest_diffs_parameters.go new file mode 100644 index 00000000..2da2bb46 --- /dev/null +++ b/api/client/client/operations/get_dashboard_api_usage_latest_diffs_parameters.go @@ -0,0 +1,126 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewGetDashboardAPIUsageLatestDiffsParams creates a new GetDashboardAPIUsageLatestDiffsParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetDashboardAPIUsageLatestDiffsParams() *GetDashboardAPIUsageLatestDiffsParams { + return &GetDashboardAPIUsageLatestDiffsParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetDashboardAPIUsageLatestDiffsParamsWithTimeout creates a new GetDashboardAPIUsageLatestDiffsParams object +// with the ability to set a timeout on a request. +func NewGetDashboardAPIUsageLatestDiffsParamsWithTimeout(timeout time.Duration) *GetDashboardAPIUsageLatestDiffsParams { + return &GetDashboardAPIUsageLatestDiffsParams{ + timeout: timeout, + } +} + +// NewGetDashboardAPIUsageLatestDiffsParamsWithContext creates a new GetDashboardAPIUsageLatestDiffsParams object +// with the ability to set a context for a request. +func NewGetDashboardAPIUsageLatestDiffsParamsWithContext(ctx context.Context) *GetDashboardAPIUsageLatestDiffsParams { + return &GetDashboardAPIUsageLatestDiffsParams{ + Context: ctx, + } +} + +// NewGetDashboardAPIUsageLatestDiffsParamsWithHTTPClient creates a new GetDashboardAPIUsageLatestDiffsParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetDashboardAPIUsageLatestDiffsParamsWithHTTPClient(client *http.Client) *GetDashboardAPIUsageLatestDiffsParams { + return &GetDashboardAPIUsageLatestDiffsParams{ + HTTPClient: client, + } +} + +/* GetDashboardAPIUsageLatestDiffsParams contains all the parameters to send to the API endpoint + for the get dashboard API usage latest diffs operation. + + Typically these are written to a http.Request. +*/ +type GetDashboardAPIUsageLatestDiffsParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get dashboard API usage latest diffs params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetDashboardAPIUsageLatestDiffsParams) WithDefaults() *GetDashboardAPIUsageLatestDiffsParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get dashboard API usage latest diffs params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetDashboardAPIUsageLatestDiffsParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get dashboard API usage latest diffs params +func (o *GetDashboardAPIUsageLatestDiffsParams) WithTimeout(timeout time.Duration) *GetDashboardAPIUsageLatestDiffsParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get dashboard API usage latest diffs params +func (o *GetDashboardAPIUsageLatestDiffsParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get dashboard API usage latest diffs params +func (o *GetDashboardAPIUsageLatestDiffsParams) WithContext(ctx context.Context) *GetDashboardAPIUsageLatestDiffsParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get dashboard API usage latest diffs params +func (o *GetDashboardAPIUsageLatestDiffsParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get dashboard API usage latest diffs params +func (o *GetDashboardAPIUsageLatestDiffsParams) WithHTTPClient(client *http.Client) *GetDashboardAPIUsageLatestDiffsParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get dashboard API usage latest diffs params +func (o *GetDashboardAPIUsageLatestDiffsParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *GetDashboardAPIUsageLatestDiffsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_dashboard_api_usage_latest_diffs_responses.go b/api/client/client/operations/get_dashboard_api_usage_latest_diffs_responses.go new file mode 100644 index 00000000..739574ff --- /dev/null +++ b/api/client/client/operations/get_dashboard_api_usage_latest_diffs_responses.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetDashboardAPIUsageLatestDiffsReader is a Reader for the GetDashboardAPIUsageLatestDiffs structure. +type GetDashboardAPIUsageLatestDiffsReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetDashboardAPIUsageLatestDiffsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetDashboardAPIUsageLatestDiffsOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetDashboardAPIUsageLatestDiffsDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetDashboardAPIUsageLatestDiffsOK creates a GetDashboardAPIUsageLatestDiffsOK with default headers values +func NewGetDashboardAPIUsageLatestDiffsOK() *GetDashboardAPIUsageLatestDiffsOK { + return &GetDashboardAPIUsageLatestDiffsOK{} +} + +/* GetDashboardAPIUsageLatestDiffsOK describes a response with status code 200, with default header values. + +Success +*/ +type GetDashboardAPIUsageLatestDiffsOK struct { + Payload []*models.SpecDiffTime +} + +func (o *GetDashboardAPIUsageLatestDiffsOK) Error() string { + return fmt.Sprintf("[GET /dashboard/apiUsage/latestDiffs][%d] getDashboardApiUsageLatestDiffsOK %+v", 200, o.Payload) +} +func (o *GetDashboardAPIUsageLatestDiffsOK) GetPayload() []*models.SpecDiffTime { + return o.Payload +} + +func (o *GetDashboardAPIUsageLatestDiffsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetDashboardAPIUsageLatestDiffsDefault creates a GetDashboardAPIUsageLatestDiffsDefault with default headers values +func NewGetDashboardAPIUsageLatestDiffsDefault(code int) *GetDashboardAPIUsageLatestDiffsDefault { + return &GetDashboardAPIUsageLatestDiffsDefault{ + _statusCode: code, + } +} + +/* GetDashboardAPIUsageLatestDiffsDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetDashboardAPIUsageLatestDiffsDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get dashboard API usage latest diffs default response +func (o *GetDashboardAPIUsageLatestDiffsDefault) Code() int { + return o._statusCode +} + +func (o *GetDashboardAPIUsageLatestDiffsDefault) Error() string { + return fmt.Sprintf("[GET /dashboard/apiUsage/latestDiffs][%d] GetDashboardAPIUsageLatestDiffs default %+v", o._statusCode, o.Payload) +} +func (o *GetDashboardAPIUsageLatestDiffsDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetDashboardAPIUsageLatestDiffsDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_dashboard_api_usage_most_used_parameters.go b/api/client/client/operations/get_dashboard_api_usage_most_used_parameters.go new file mode 100644 index 00000000..4f59ffce --- /dev/null +++ b/api/client/client/operations/get_dashboard_api_usage_most_used_parameters.go @@ -0,0 +1,126 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewGetDashboardAPIUsageMostUsedParams creates a new GetDashboardAPIUsageMostUsedParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetDashboardAPIUsageMostUsedParams() *GetDashboardAPIUsageMostUsedParams { + return &GetDashboardAPIUsageMostUsedParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetDashboardAPIUsageMostUsedParamsWithTimeout creates a new GetDashboardAPIUsageMostUsedParams object +// with the ability to set a timeout on a request. +func NewGetDashboardAPIUsageMostUsedParamsWithTimeout(timeout time.Duration) *GetDashboardAPIUsageMostUsedParams { + return &GetDashboardAPIUsageMostUsedParams{ + timeout: timeout, + } +} + +// NewGetDashboardAPIUsageMostUsedParamsWithContext creates a new GetDashboardAPIUsageMostUsedParams object +// with the ability to set a context for a request. +func NewGetDashboardAPIUsageMostUsedParamsWithContext(ctx context.Context) *GetDashboardAPIUsageMostUsedParams { + return &GetDashboardAPIUsageMostUsedParams{ + Context: ctx, + } +} + +// NewGetDashboardAPIUsageMostUsedParamsWithHTTPClient creates a new GetDashboardAPIUsageMostUsedParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetDashboardAPIUsageMostUsedParamsWithHTTPClient(client *http.Client) *GetDashboardAPIUsageMostUsedParams { + return &GetDashboardAPIUsageMostUsedParams{ + HTTPClient: client, + } +} + +/* GetDashboardAPIUsageMostUsedParams contains all the parameters to send to the API endpoint + for the get dashboard API usage most used operation. + + Typically these are written to a http.Request. +*/ +type GetDashboardAPIUsageMostUsedParams struct { + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get dashboard API usage most used params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetDashboardAPIUsageMostUsedParams) WithDefaults() *GetDashboardAPIUsageMostUsedParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get dashboard API usage most used params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetDashboardAPIUsageMostUsedParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get dashboard API usage most used params +func (o *GetDashboardAPIUsageMostUsedParams) WithTimeout(timeout time.Duration) *GetDashboardAPIUsageMostUsedParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get dashboard API usage most used params +func (o *GetDashboardAPIUsageMostUsedParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get dashboard API usage most used params +func (o *GetDashboardAPIUsageMostUsedParams) WithContext(ctx context.Context) *GetDashboardAPIUsageMostUsedParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get dashboard API usage most used params +func (o *GetDashboardAPIUsageMostUsedParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get dashboard API usage most used params +func (o *GetDashboardAPIUsageMostUsedParams) WithHTTPClient(client *http.Client) *GetDashboardAPIUsageMostUsedParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get dashboard API usage most used params +func (o *GetDashboardAPIUsageMostUsedParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WriteToRequest writes these params to a swagger request +func (o *GetDashboardAPIUsageMostUsedParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_dashboard_api_usage_most_used_responses.go b/api/client/client/operations/get_dashboard_api_usage_most_used_responses.go new file mode 100644 index 00000000..e3a3ef51 --- /dev/null +++ b/api/client/client/operations/get_dashboard_api_usage_most_used_responses.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetDashboardAPIUsageMostUsedReader is a Reader for the GetDashboardAPIUsageMostUsed structure. +type GetDashboardAPIUsageMostUsedReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetDashboardAPIUsageMostUsedReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetDashboardAPIUsageMostUsedOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetDashboardAPIUsageMostUsedDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetDashboardAPIUsageMostUsedOK creates a GetDashboardAPIUsageMostUsedOK with default headers values +func NewGetDashboardAPIUsageMostUsedOK() *GetDashboardAPIUsageMostUsedOK { + return &GetDashboardAPIUsageMostUsedOK{} +} + +/* GetDashboardAPIUsageMostUsedOK describes a response with status code 200, with default header values. + +Success +*/ +type GetDashboardAPIUsageMostUsedOK struct { + Payload []*models.APICount +} + +func (o *GetDashboardAPIUsageMostUsedOK) Error() string { + return fmt.Sprintf("[GET /dashboard/apiUsage/mostUsed][%d] getDashboardApiUsageMostUsedOK %+v", 200, o.Payload) +} +func (o *GetDashboardAPIUsageMostUsedOK) GetPayload() []*models.APICount { + return o.Payload +} + +func (o *GetDashboardAPIUsageMostUsedOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetDashboardAPIUsageMostUsedDefault creates a GetDashboardAPIUsageMostUsedDefault with default headers values +func NewGetDashboardAPIUsageMostUsedDefault(code int) *GetDashboardAPIUsageMostUsedDefault { + return &GetDashboardAPIUsageMostUsedDefault{ + _statusCode: code, + } +} + +/* GetDashboardAPIUsageMostUsedDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetDashboardAPIUsageMostUsedDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get dashboard API usage most used default response +func (o *GetDashboardAPIUsageMostUsedDefault) Code() int { + return o._statusCode +} + +func (o *GetDashboardAPIUsageMostUsedDefault) Error() string { + return fmt.Sprintf("[GET /dashboard/apiUsage/mostUsed][%d] GetDashboardAPIUsageMostUsed default %+v", o._statusCode, o.Payload) +} +func (o *GetDashboardAPIUsageMostUsedDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetDashboardAPIUsageMostUsedDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/get_dashboard_api_usage_parameters.go b/api/client/client/operations/get_dashboard_api_usage_parameters.go new file mode 100644 index 00000000..d830840c --- /dev/null +++ b/api/client/client/operations/get_dashboard_api_usage_parameters.go @@ -0,0 +1,185 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewGetDashboardAPIUsageParams creates a new GetDashboardAPIUsageParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetDashboardAPIUsageParams() *GetDashboardAPIUsageParams { + return &GetDashboardAPIUsageParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewGetDashboardAPIUsageParamsWithTimeout creates a new GetDashboardAPIUsageParams object +// with the ability to set a timeout on a request. +func NewGetDashboardAPIUsageParamsWithTimeout(timeout time.Duration) *GetDashboardAPIUsageParams { + return &GetDashboardAPIUsageParams{ + timeout: timeout, + } +} + +// NewGetDashboardAPIUsageParamsWithContext creates a new GetDashboardAPIUsageParams object +// with the ability to set a context for a request. +func NewGetDashboardAPIUsageParamsWithContext(ctx context.Context) *GetDashboardAPIUsageParams { + return &GetDashboardAPIUsageParams{ + Context: ctx, + } +} + +// NewGetDashboardAPIUsageParamsWithHTTPClient creates a new GetDashboardAPIUsageParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetDashboardAPIUsageParamsWithHTTPClient(client *http.Client) *GetDashboardAPIUsageParams { + return &GetDashboardAPIUsageParams{ + HTTPClient: client, + } +} + +/* GetDashboardAPIUsageParams contains all the parameters to send to the API endpoint + for the get dashboard API usage operation. + + Typically these are written to a http.Request. +*/ +type GetDashboardAPIUsageParams struct { + + /* EndTime. + + End time of the query + + Format: date-time + */ + EndTime strfmt.DateTime + + /* StartTime. + + Start time of the query + + Format: date-time + */ + StartTime strfmt.DateTime + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the get dashboard API usage params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetDashboardAPIUsageParams) WithDefaults() *GetDashboardAPIUsageParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get dashboard API usage params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetDashboardAPIUsageParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) WithTimeout(timeout time.Duration) *GetDashboardAPIUsageParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) WithContext(ctx context.Context) *GetDashboardAPIUsageParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) WithHTTPClient(client *http.Client) *GetDashboardAPIUsageParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithEndTime adds the endTime to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) WithEndTime(endTime strfmt.DateTime) *GetDashboardAPIUsageParams { + o.SetEndTime(endTime) + return o +} + +// SetEndTime adds the endTime to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) SetEndTime(endTime strfmt.DateTime) { + o.EndTime = endTime +} + +// WithStartTime adds the startTime to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) WithStartTime(startTime strfmt.DateTime) *GetDashboardAPIUsageParams { + o.SetStartTime(startTime) + return o +} + +// SetStartTime adds the startTime to the get dashboard API usage params +func (o *GetDashboardAPIUsageParams) SetStartTime(startTime strfmt.DateTime) { + o.StartTime = startTime +} + +// WriteToRequest writes these params to a swagger request +func (o *GetDashboardAPIUsageParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // query param endTime + qrEndTime := o.EndTime + qEndTime := qrEndTime.String() + if qEndTime != "" { + + if err := r.SetQueryParam("endTime", qEndTime); err != nil { + return err + } + } + + // query param startTime + qrStartTime := o.StartTime + qStartTime := qrStartTime.String() + if qStartTime != "" { + + if err := r.SetQueryParam("startTime", qStartTime); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/get_dashboard_api_usage_responses.go b/api/client/client/operations/get_dashboard_api_usage_responses.go new file mode 100644 index 00000000..81e4eddc --- /dev/null +++ b/api/client/client/operations/get_dashboard_api_usage_responses.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// GetDashboardAPIUsageReader is a Reader for the GetDashboardAPIUsage structure. +type GetDashboardAPIUsageReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetDashboardAPIUsageReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewGetDashboardAPIUsageOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewGetDashboardAPIUsageDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewGetDashboardAPIUsageOK creates a GetDashboardAPIUsageOK with default headers values +func NewGetDashboardAPIUsageOK() *GetDashboardAPIUsageOK { + return &GetDashboardAPIUsageOK{} +} + +/* GetDashboardAPIUsageOK describes a response with status code 200, with default header values. + +Success +*/ +type GetDashboardAPIUsageOK struct { + Payload *models.APIUsages +} + +func (o *GetDashboardAPIUsageOK) Error() string { + return fmt.Sprintf("[GET /dashboard/apiUsage][%d] getDashboardApiUsageOK %+v", 200, o.Payload) +} +func (o *GetDashboardAPIUsageOK) GetPayload() *models.APIUsages { + return o.Payload +} + +func (o *GetDashboardAPIUsageOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIUsages) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewGetDashboardAPIUsageDefault creates a GetDashboardAPIUsageDefault with default headers values +func NewGetDashboardAPIUsageDefault(code int) *GetDashboardAPIUsageDefault { + return &GetDashboardAPIUsageDefault{ + _statusCode: code, + } +} + +/* GetDashboardAPIUsageDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type GetDashboardAPIUsageDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the get dashboard API usage default response +func (o *GetDashboardAPIUsageDefault) Code() int { + return o._statusCode +} + +func (o *GetDashboardAPIUsageDefault) Error() string { + return fmt.Sprintf("[GET /dashboard/apiUsage][%d] GetDashboardAPIUsage default %+v", o._statusCode, o.Payload) +} +func (o *GetDashboardAPIUsageDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *GetDashboardAPIUsageDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/operations_client.go b/api/client/client/operations/operations_client.go new file mode 100644 index 00000000..b92b01a0 --- /dev/null +++ b/api/client/client/operations/operations_client.go @@ -0,0 +1,739 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" +) + +// New creates a new operations API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +/* +Client for operations API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption is the option for Client methods +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + DeleteAPIInventoryAPIIDSpecsProvidedSpec(params *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams, opts ...ClientOption) (*DeleteAPIInventoryAPIIDSpecsProvidedSpecOK, error) + + DeleteAPIInventoryAPIIDSpecsReconstructedSpec(params *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams, opts ...ClientOption) (*DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK, error) + + GetAPIEvents(params *GetAPIEventsParams, opts ...ClientOption) (*GetAPIEventsOK, error) + + GetAPIEventsEventID(params *GetAPIEventsEventIDParams, opts ...ClientOption) (*GetAPIEventsEventIDOK, error) + + GetAPIEventsEventIDProvidedSpecDiff(params *GetAPIEventsEventIDProvidedSpecDiffParams, opts ...ClientOption) (*GetAPIEventsEventIDProvidedSpecDiffOK, error) + + GetAPIEventsEventIDReconstructedSpecDiff(params *GetAPIEventsEventIDReconstructedSpecDiffParams, opts ...ClientOption) (*GetAPIEventsEventIDReconstructedSpecDiffOK, error) + + GetAPIInventory(params *GetAPIInventoryParams, opts ...ClientOption) (*GetAPIInventoryOK, error) + + GetAPIInventoryAPIIDProvidedSwaggerJSON(params *GetAPIInventoryAPIIDProvidedSwaggerJSONParams, opts ...ClientOption) (*GetAPIInventoryAPIIDProvidedSwaggerJSONOK, error) + + GetAPIInventoryAPIIDReconstructedSwaggerJSON(params *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams, opts ...ClientOption) (*GetAPIInventoryAPIIDReconstructedSwaggerJSONOK, error) + + GetAPIInventoryAPIIDSpecs(params *GetAPIInventoryAPIIDSpecsParams, opts ...ClientOption) (*GetAPIInventoryAPIIDSpecsOK, error) + + GetAPIInventoryAPIIDSuggestedReview(params *GetAPIInventoryAPIIDSuggestedReviewParams, opts ...ClientOption) (*GetAPIInventoryAPIIDSuggestedReviewOK, error) + + GetAPIUsageHitCount(params *GetAPIUsageHitCountParams, opts ...ClientOption) (*GetAPIUsageHitCountOK, error) + + GetDashboardAPIUsage(params *GetDashboardAPIUsageParams, opts ...ClientOption) (*GetDashboardAPIUsageOK, error) + + GetDashboardAPIUsageLatestDiffs(params *GetDashboardAPIUsageLatestDiffsParams, opts ...ClientOption) (*GetDashboardAPIUsageLatestDiffsOK, error) + + GetDashboardAPIUsageMostUsed(params *GetDashboardAPIUsageMostUsedParams, opts ...ClientOption) (*GetDashboardAPIUsageMostUsedOK, error) + + PostAPIInventory(params *PostAPIInventoryParams, opts ...ClientOption) (*PostAPIInventoryOK, error) + + PostAPIInventoryReviewIDApprovedReview(params *PostAPIInventoryReviewIDApprovedReviewParams, opts ...ClientOption) (*PostAPIInventoryReviewIDApprovedReviewOK, error) + + PutAPIInventoryAPIIDSpecsProvidedSpec(params *PutAPIInventoryAPIIDSpecsProvidedSpecParams, opts ...ClientOption) (*PutAPIInventoryAPIIDSpecsProvidedSpecCreated, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* + DeleteAPIInventoryAPIIDSpecsProvidedSpec unsets a provided spec for a specific API +*/ +func (a *Client) DeleteAPIInventoryAPIIDSpecsProvidedSpec(params *DeleteAPIInventoryAPIIDSpecsProvidedSpecParams, opts ...ClientOption) (*DeleteAPIInventoryAPIIDSpecsProvidedSpecOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewDeleteAPIInventoryAPIIDSpecsProvidedSpecParams() + } + op := &runtime.ClientOperation{ + ID: "DeleteAPIInventoryAPIIDSpecsProvidedSpec", + Method: "DELETE", + PathPattern: "/apiInventory/{apiId}/specs/providedSpec", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &DeleteAPIInventoryAPIIDSpecsProvidedSpecReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*DeleteAPIInventoryAPIIDSpecsProvidedSpecOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*DeleteAPIInventoryAPIIDSpecsProvidedSpecDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + DeleteAPIInventoryAPIIDSpecsReconstructedSpec unsets a reconstructed spec for a specific API +*/ +func (a *Client) DeleteAPIInventoryAPIIDSpecsReconstructedSpec(params *DeleteAPIInventoryAPIIDSpecsReconstructedSpecParams, opts ...ClientOption) (*DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewDeleteAPIInventoryAPIIDSpecsReconstructedSpecParams() + } + op := &runtime.ClientOperation{ + ID: "DeleteAPIInventoryAPIIDSpecsReconstructedSpec", + Method: "DELETE", + PathPattern: "/apiInventory/{apiId}/specs/reconstructedSpec", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &DeleteAPIInventoryAPIIDSpecsReconstructedSpecReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*DeleteAPIInventoryAPIIDSpecsReconstructedSpecOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*DeleteAPIInventoryAPIIDSpecsReconstructedSpecDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIEvents gets API events +*/ +func (a *Client) GetAPIEvents(params *GetAPIEventsParams, opts ...ClientOption) (*GetAPIEventsOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIEventsParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIEvents", + Method: "GET", + PathPattern: "/apiEvents", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIEventsReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIEventsOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIEventsDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIEventsEventID gets API event +*/ +func (a *Client) GetAPIEventsEventID(params *GetAPIEventsEventIDParams, opts ...ClientOption) (*GetAPIEventsEventIDOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIEventsEventIDParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIEventsEventID", + Method: "GET", + PathPattern: "/apiEvents/{eventId}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIEventsEventIDReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIEventsEventIDOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIEventsEventIDDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIEventsEventIDProvidedSpecDiff gets API event provided spec diff +*/ +func (a *Client) GetAPIEventsEventIDProvidedSpecDiff(params *GetAPIEventsEventIDProvidedSpecDiffParams, opts ...ClientOption) (*GetAPIEventsEventIDProvidedSpecDiffOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIEventsEventIDProvidedSpecDiffParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIEventsEventIDProvidedSpecDiff", + Method: "GET", + PathPattern: "/apiEvents/{eventId}/providedSpecDiff", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIEventsEventIDProvidedSpecDiffReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIEventsEventIDProvidedSpecDiffOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIEventsEventIDProvidedSpecDiffDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIEventsEventIDReconstructedSpecDiff gets API event reconstructed spec diff +*/ +func (a *Client) GetAPIEventsEventIDReconstructedSpecDiff(params *GetAPIEventsEventIDReconstructedSpecDiffParams, opts ...ClientOption) (*GetAPIEventsEventIDReconstructedSpecDiffOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIEventsEventIDReconstructedSpecDiffParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIEventsEventIDReconstructedSpecDiff", + Method: "GET", + PathPattern: "/apiEvents/{eventId}/reconstructedSpecDiff", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIEventsEventIDReconstructedSpecDiffReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIEventsEventIDReconstructedSpecDiffOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIEventsEventIDReconstructedSpecDiffDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIInventory gets API inventory +*/ +func (a *Client) GetAPIInventory(params *GetAPIInventoryParams, opts ...ClientOption) (*GetAPIInventoryOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIInventoryParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIInventory", + Method: "GET", + PathPattern: "/apiInventory", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIInventoryReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIInventoryOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIInventoryDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIInventoryAPIIDProvidedSwaggerJSON gets provided API spec json file +*/ +func (a *Client) GetAPIInventoryAPIIDProvidedSwaggerJSON(params *GetAPIInventoryAPIIDProvidedSwaggerJSONParams, opts ...ClientOption) (*GetAPIInventoryAPIIDProvidedSwaggerJSONOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIInventoryAPIIDProvidedSwaggerJSONParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIInventoryAPIIDProvidedSwaggerJSON", + Method: "GET", + PathPattern: "/apiInventory/{apiId}/provided_swagger.json", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIInventoryAPIIDProvidedSwaggerJSONReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIInventoryAPIIDProvidedSwaggerJSONOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIInventoryAPIIDProvidedSwaggerJSONDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIInventoryAPIIDReconstructedSwaggerJSON gets reconstructed API spec json file +*/ +func (a *Client) GetAPIInventoryAPIIDReconstructedSwaggerJSON(params *GetAPIInventoryAPIIDReconstructedSwaggerJSONParams, opts ...ClientOption) (*GetAPIInventoryAPIIDReconstructedSwaggerJSONOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIInventoryAPIIDReconstructedSwaggerJSONParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIInventoryAPIIDReconstructedSwaggerJSON", + Method: "GET", + PathPattern: "/apiInventory/{apiId}/reconstructed_swagger.json", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIInventoryAPIIDReconstructedSwaggerJSONReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIInventoryAPIIDReconstructedSwaggerJSONOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIInventoryAPIIDReconstructedSwaggerJSONDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIInventoryAPIIDSpecs gets provided and reconstructed open api specs for a specific API +*/ +func (a *Client) GetAPIInventoryAPIIDSpecs(params *GetAPIInventoryAPIIDSpecsParams, opts ...ClientOption) (*GetAPIInventoryAPIIDSpecsOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIInventoryAPIIDSpecsParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIInventoryAPIIDSpecs", + Method: "GET", + PathPattern: "/apiInventory/{apiId}/specs", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIInventoryAPIIDSpecsReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIInventoryAPIIDSpecsOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIInventoryAPIIDSpecsDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIInventoryAPIIDSuggestedReview gets reconstructed spec for review +*/ +func (a *Client) GetAPIInventoryAPIIDSuggestedReview(params *GetAPIInventoryAPIIDSuggestedReviewParams, opts ...ClientOption) (*GetAPIInventoryAPIIDSuggestedReviewOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIInventoryAPIIDSuggestedReviewParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIInventoryAPIIDSuggestedReview", + Method: "GET", + PathPattern: "/apiInventory/{apiId}/suggestedReview", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIInventoryAPIIDSuggestedReviewReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIInventoryAPIIDSuggestedReviewOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIInventoryAPIIDSuggestedReviewDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetAPIUsageHitCount gets a hit count within a selected timeframe for the filtered API events +*/ +func (a *Client) GetAPIUsageHitCount(params *GetAPIUsageHitCountParams, opts ...ClientOption) (*GetAPIUsageHitCountOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetAPIUsageHitCountParams() + } + op := &runtime.ClientOperation{ + ID: "GetAPIUsageHitCount", + Method: "GET", + PathPattern: "/apiUsage/hitCount", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetAPIUsageHitCountReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetAPIUsageHitCountOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetAPIUsageHitCountDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetDashboardAPIUsage gets API usage +*/ +func (a *Client) GetDashboardAPIUsage(params *GetDashboardAPIUsageParams, opts ...ClientOption) (*GetDashboardAPIUsageOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetDashboardAPIUsageParams() + } + op := &runtime.ClientOperation{ + ID: "GetDashboardAPIUsage", + Method: "GET", + PathPattern: "/dashboard/apiUsage", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetDashboardAPIUsageReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetDashboardAPIUsageOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetDashboardAPIUsageDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetDashboardAPIUsageLatestDiffs gets latest spec diffs +*/ +func (a *Client) GetDashboardAPIUsageLatestDiffs(params *GetDashboardAPIUsageLatestDiffsParams, opts ...ClientOption) (*GetDashboardAPIUsageLatestDiffsOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetDashboardAPIUsageLatestDiffsParams() + } + op := &runtime.ClientOperation{ + ID: "GetDashboardAPIUsageLatestDiffs", + Method: "GET", + PathPattern: "/dashboard/apiUsage/latestDiffs", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetDashboardAPIUsageLatestDiffsReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetDashboardAPIUsageLatestDiffsOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetDashboardAPIUsageLatestDiffsDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + GetDashboardAPIUsageMostUsed gets most used a p is +*/ +func (a *Client) GetDashboardAPIUsageMostUsed(params *GetDashboardAPIUsageMostUsedParams, opts ...ClientOption) (*GetDashboardAPIUsageMostUsedOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewGetDashboardAPIUsageMostUsedParams() + } + op := &runtime.ClientOperation{ + ID: "GetDashboardAPIUsageMostUsed", + Method: "GET", + PathPattern: "/dashboard/apiUsage/mostUsed", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetDashboardAPIUsageMostUsedReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*GetDashboardAPIUsageMostUsedOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*GetDashboardAPIUsageMostUsedDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + PostAPIInventory creates API inventory item +*/ +func (a *Client) PostAPIInventory(params *PostAPIInventoryParams, opts ...ClientOption) (*PostAPIInventoryOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPostAPIInventoryParams() + } + op := &runtime.ClientOperation{ + ID: "PostAPIInventory", + Method: "POST", + PathPattern: "/apiInventory", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PostAPIInventoryReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PostAPIInventoryOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*PostAPIInventoryDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + PostAPIInventoryReviewIDApprovedReview applies the approved review to create the reconstructed spec +*/ +func (a *Client) PostAPIInventoryReviewIDApprovedReview(params *PostAPIInventoryReviewIDApprovedReviewParams, opts ...ClientOption) (*PostAPIInventoryReviewIDApprovedReviewOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPostAPIInventoryReviewIDApprovedReviewParams() + } + op := &runtime.ClientOperation{ + ID: "PostAPIInventoryReviewIDApprovedReview", + Method: "POST", + PathPattern: "/apiInventory/{reviewId}/approvedReview", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PostAPIInventoryReviewIDApprovedReviewReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PostAPIInventoryReviewIDApprovedReviewOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*PostAPIInventoryReviewIDApprovedReviewDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + PutAPIInventoryAPIIDSpecsProvidedSpec adds or edit a spec for a specific API +*/ +func (a *Client) PutAPIInventoryAPIIDSpecsProvidedSpec(params *PutAPIInventoryAPIIDSpecsProvidedSpecParams, opts ...ClientOption) (*PutAPIInventoryAPIIDSpecsProvidedSpecCreated, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewPutAPIInventoryAPIIDSpecsProvidedSpecParams() + } + op := &runtime.ClientOperation{ + ID: "PutAPIInventoryAPIIDSpecsProvidedSpec", + Method: "PUT", + PathPattern: "/apiInventory/{apiId}/specs/providedSpec", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PutAPIInventoryAPIIDSpecsProvidedSpecReader{formats: a.formats}, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*PutAPIInventoryAPIIDSpecsProvidedSpecCreated) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*PutAPIInventoryAPIIDSpecsProvidedSpecDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/api/client/client/operations/post_api_inventory_parameters.go b/api/client/client/operations/post_api_inventory_parameters.go new file mode 100644 index 00000000..8955b892 --- /dev/null +++ b/api/client/client/operations/post_api_inventory_parameters.go @@ -0,0 +1,148 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// NewPostAPIInventoryParams creates a new PostAPIInventoryParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPostAPIInventoryParams() *PostAPIInventoryParams { + return &PostAPIInventoryParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPostAPIInventoryParamsWithTimeout creates a new PostAPIInventoryParams object +// with the ability to set a timeout on a request. +func NewPostAPIInventoryParamsWithTimeout(timeout time.Duration) *PostAPIInventoryParams { + return &PostAPIInventoryParams{ + timeout: timeout, + } +} + +// NewPostAPIInventoryParamsWithContext creates a new PostAPIInventoryParams object +// with the ability to set a context for a request. +func NewPostAPIInventoryParamsWithContext(ctx context.Context) *PostAPIInventoryParams { + return &PostAPIInventoryParams{ + Context: ctx, + } +} + +// NewPostAPIInventoryParamsWithHTTPClient creates a new PostAPIInventoryParams object +// with the ability to set a custom HTTPClient for a request. +func NewPostAPIInventoryParamsWithHTTPClient(client *http.Client) *PostAPIInventoryParams { + return &PostAPIInventoryParams{ + HTTPClient: client, + } +} + +/* PostAPIInventoryParams contains all the parameters to send to the API endpoint + for the post API inventory operation. + + Typically these are written to a http.Request. +*/ +type PostAPIInventoryParams struct { + + // Body. + Body *models.APIInfoWithType + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the post API inventory params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PostAPIInventoryParams) WithDefaults() *PostAPIInventoryParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the post API inventory params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PostAPIInventoryParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the post API inventory params +func (o *PostAPIInventoryParams) WithTimeout(timeout time.Duration) *PostAPIInventoryParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the post API inventory params +func (o *PostAPIInventoryParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the post API inventory params +func (o *PostAPIInventoryParams) WithContext(ctx context.Context) *PostAPIInventoryParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the post API inventory params +func (o *PostAPIInventoryParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the post API inventory params +func (o *PostAPIInventoryParams) WithHTTPClient(client *http.Client) *PostAPIInventoryParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the post API inventory params +func (o *PostAPIInventoryParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the post API inventory params +func (o *PostAPIInventoryParams) WithBody(body *models.APIInfoWithType) *PostAPIInventoryParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the post API inventory params +func (o *PostAPIInventoryParams) SetBody(body *models.APIInfoWithType) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *PostAPIInventoryParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/post_api_inventory_responses.go b/api/client/client/operations/post_api_inventory_responses.go new file mode 100644 index 00000000..1817e10c --- /dev/null +++ b/api/client/client/operations/post_api_inventory_responses.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// PostAPIInventoryReader is a Reader for the PostAPIInventory structure. +type PostAPIInventoryReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PostAPIInventoryReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewPostAPIInventoryOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewPostAPIInventoryDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewPostAPIInventoryOK creates a PostAPIInventoryOK with default headers values +func NewPostAPIInventoryOK() *PostAPIInventoryOK { + return &PostAPIInventoryOK{} +} + +/* PostAPIInventoryOK describes a response with status code 200, with default header values. + +Success +*/ +type PostAPIInventoryOK struct { + Payload *models.APIInfo +} + +func (o *PostAPIInventoryOK) Error() string { + return fmt.Sprintf("[POST /apiInventory][%d] postApiInventoryOK %+v", 200, o.Payload) +} +func (o *PostAPIInventoryOK) GetPayload() *models.APIInfo { + return o.Payload +} + +func (o *PostAPIInventoryOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIInfo) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewPostAPIInventoryDefault creates a PostAPIInventoryDefault with default headers values +func NewPostAPIInventoryDefault(code int) *PostAPIInventoryDefault { + return &PostAPIInventoryDefault{ + _statusCode: code, + } +} + +/* PostAPIInventoryDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type PostAPIInventoryDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the post API inventory default response +func (o *PostAPIInventoryDefault) Code() int { + return o._statusCode +} + +func (o *PostAPIInventoryDefault) Error() string { + return fmt.Sprintf("[POST /apiInventory][%d] PostAPIInventory default %+v", o._statusCode, o.Payload) +} +func (o *PostAPIInventoryDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *PostAPIInventoryDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/post_api_inventory_review_id_approved_review_parameters.go b/api/client/client/operations/post_api_inventory_review_id_approved_review_parameters.go new file mode 100644 index 00000000..ed6b5b61 --- /dev/null +++ b/api/client/client/operations/post_api_inventory_review_id_approved_review_parameters.go @@ -0,0 +1,170 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// NewPostAPIInventoryReviewIDApprovedReviewParams creates a new PostAPIInventoryReviewIDApprovedReviewParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPostAPIInventoryReviewIDApprovedReviewParams() *PostAPIInventoryReviewIDApprovedReviewParams { + return &PostAPIInventoryReviewIDApprovedReviewParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPostAPIInventoryReviewIDApprovedReviewParamsWithTimeout creates a new PostAPIInventoryReviewIDApprovedReviewParams object +// with the ability to set a timeout on a request. +func NewPostAPIInventoryReviewIDApprovedReviewParamsWithTimeout(timeout time.Duration) *PostAPIInventoryReviewIDApprovedReviewParams { + return &PostAPIInventoryReviewIDApprovedReviewParams{ + timeout: timeout, + } +} + +// NewPostAPIInventoryReviewIDApprovedReviewParamsWithContext creates a new PostAPIInventoryReviewIDApprovedReviewParams object +// with the ability to set a context for a request. +func NewPostAPIInventoryReviewIDApprovedReviewParamsWithContext(ctx context.Context) *PostAPIInventoryReviewIDApprovedReviewParams { + return &PostAPIInventoryReviewIDApprovedReviewParams{ + Context: ctx, + } +} + +// NewPostAPIInventoryReviewIDApprovedReviewParamsWithHTTPClient creates a new PostAPIInventoryReviewIDApprovedReviewParams object +// with the ability to set a custom HTTPClient for a request. +func NewPostAPIInventoryReviewIDApprovedReviewParamsWithHTTPClient(client *http.Client) *PostAPIInventoryReviewIDApprovedReviewParams { + return &PostAPIInventoryReviewIDApprovedReviewParams{ + HTTPClient: client, + } +} + +/* PostAPIInventoryReviewIDApprovedReviewParams contains all the parameters to send to the API endpoint + for the post API inventory review ID approved review operation. + + Typically these are written to a http.Request. +*/ +type PostAPIInventoryReviewIDApprovedReviewParams struct { + + // Body. + Body *models.ApprovedReview + + // ReviewID. + // + // Format: uint32 + ReviewID uint32 + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the post API inventory review ID approved review params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PostAPIInventoryReviewIDApprovedReviewParams) WithDefaults() *PostAPIInventoryReviewIDApprovedReviewParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the post API inventory review ID approved review params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PostAPIInventoryReviewIDApprovedReviewParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) WithTimeout(timeout time.Duration) *PostAPIInventoryReviewIDApprovedReviewParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) WithContext(ctx context.Context) *PostAPIInventoryReviewIDApprovedReviewParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) WithHTTPClient(client *http.Client) *PostAPIInventoryReviewIDApprovedReviewParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithBody adds the body to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) WithBody(body *models.ApprovedReview) *PostAPIInventoryReviewIDApprovedReviewParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) SetBody(body *models.ApprovedReview) { + o.Body = body +} + +// WithReviewID adds the reviewID to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) WithReviewID(reviewID uint32) *PostAPIInventoryReviewIDApprovedReviewParams { + o.SetReviewID(reviewID) + return o +} + +// SetReviewID adds the reviewId to the post API inventory review ID approved review params +func (o *PostAPIInventoryReviewIDApprovedReviewParams) SetReviewID(reviewID uint32) { + o.ReviewID = reviewID +} + +// WriteToRequest writes these params to a swagger request +func (o *PostAPIInventoryReviewIDApprovedReviewParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + // path param reviewId + if err := r.SetPathParam("reviewId", swag.FormatUint32(o.ReviewID)); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/post_api_inventory_review_id_approved_review_responses.go b/api/client/client/operations/post_api_inventory_review_id_approved_review_responses.go new file mode 100644 index 00000000..697e48a7 --- /dev/null +++ b/api/client/client/operations/post_api_inventory_review_id_approved_review_responses.go @@ -0,0 +1,113 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// PostAPIInventoryReviewIDApprovedReviewReader is a Reader for the PostAPIInventoryReviewIDApprovedReview structure. +type PostAPIInventoryReviewIDApprovedReviewReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PostAPIInventoryReviewIDApprovedReviewReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewPostAPIInventoryReviewIDApprovedReviewOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + default: + result := NewPostAPIInventoryReviewIDApprovedReviewDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewPostAPIInventoryReviewIDApprovedReviewOK creates a PostAPIInventoryReviewIDApprovedReviewOK with default headers values +func NewPostAPIInventoryReviewIDApprovedReviewOK() *PostAPIInventoryReviewIDApprovedReviewOK { + return &PostAPIInventoryReviewIDApprovedReviewOK{} +} + +/* PostAPIInventoryReviewIDApprovedReviewOK describes a response with status code 200, with default header values. + +Success +*/ +type PostAPIInventoryReviewIDApprovedReviewOK struct { + Payload interface{} +} + +func (o *PostAPIInventoryReviewIDApprovedReviewOK) Error() string { + return fmt.Sprintf("[POST /apiInventory/{reviewId}/approvedReview][%d] postApiInventoryReviewIdApprovedReviewOK %+v", 200, o.Payload) +} +func (o *PostAPIInventoryReviewIDApprovedReviewOK) GetPayload() interface{} { + return o.Payload +} + +func (o *PostAPIInventoryReviewIDApprovedReviewOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewPostAPIInventoryReviewIDApprovedReviewDefault creates a PostAPIInventoryReviewIDApprovedReviewDefault with default headers values +func NewPostAPIInventoryReviewIDApprovedReviewDefault(code int) *PostAPIInventoryReviewIDApprovedReviewDefault { + return &PostAPIInventoryReviewIDApprovedReviewDefault{ + _statusCode: code, + } +} + +/* PostAPIInventoryReviewIDApprovedReviewDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type PostAPIInventoryReviewIDApprovedReviewDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the post API inventory review ID approved review default response +func (o *PostAPIInventoryReviewIDApprovedReviewDefault) Code() int { + return o._statusCode +} + +func (o *PostAPIInventoryReviewIDApprovedReviewDefault) Error() string { + return fmt.Sprintf("[POST /apiInventory/{reviewId}/approvedReview][%d] PostAPIInventoryReviewIDApprovedReview default %+v", o._statusCode, o.Payload) +} +func (o *PostAPIInventoryReviewIDApprovedReviewDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *PostAPIInventoryReviewIDApprovedReviewDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/client/operations/put_api_inventory_api_id_specs_provided_spec_parameters.go b/api/client/client/operations/put_api_inventory_api_id_specs_provided_spec_parameters.go new file mode 100644 index 00000000..b8dc7c04 --- /dev/null +++ b/api/client/client/operations/put_api_inventory_api_id_specs_provided_spec_parameters.go @@ -0,0 +1,170 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// NewPutAPIInventoryAPIIDSpecsProvidedSpecParams creates a new PutAPIInventoryAPIIDSpecsProvidedSpecParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPutAPIInventoryAPIIDSpecsProvidedSpecParams() *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + return &PutAPIInventoryAPIIDSpecsProvidedSpecParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewPutAPIInventoryAPIIDSpecsProvidedSpecParamsWithTimeout creates a new PutAPIInventoryAPIIDSpecsProvidedSpecParams object +// with the ability to set a timeout on a request. +func NewPutAPIInventoryAPIIDSpecsProvidedSpecParamsWithTimeout(timeout time.Duration) *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + return &PutAPIInventoryAPIIDSpecsProvidedSpecParams{ + timeout: timeout, + } +} + +// NewPutAPIInventoryAPIIDSpecsProvidedSpecParamsWithContext creates a new PutAPIInventoryAPIIDSpecsProvidedSpecParams object +// with the ability to set a context for a request. +func NewPutAPIInventoryAPIIDSpecsProvidedSpecParamsWithContext(ctx context.Context) *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + return &PutAPIInventoryAPIIDSpecsProvidedSpecParams{ + Context: ctx, + } +} + +// NewPutAPIInventoryAPIIDSpecsProvidedSpecParamsWithHTTPClient creates a new PutAPIInventoryAPIIDSpecsProvidedSpecParams object +// with the ability to set a custom HTTPClient for a request. +func NewPutAPIInventoryAPIIDSpecsProvidedSpecParamsWithHTTPClient(client *http.Client) *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + return &PutAPIInventoryAPIIDSpecsProvidedSpecParams{ + HTTPClient: client, + } +} + +/* PutAPIInventoryAPIIDSpecsProvidedSpecParams contains all the parameters to send to the API endpoint + for the put API inventory API ID specs provided spec operation. + + Typically these are written to a http.Request. +*/ +type PutAPIInventoryAPIIDSpecsProvidedSpecParams struct { + + // APIID. + // + // Format: uint32 + APIID uint32 + + // Body. + Body *models.RawSpec + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the put API inventory API ID specs provided spec params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) WithDefaults() *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the put API inventory API ID specs provided spec params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) WithTimeout(timeout time.Duration) *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) WithContext(ctx context.Context) *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) WithHTTPClient(client *http.Client) *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAPIID adds the aPIID to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) WithAPIID(aPIID uint32) *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetAPIID(aPIID) + return o +} + +// SetAPIID adds the apiId to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) SetAPIID(aPIID uint32) { + o.APIID = aPIID +} + +// WithBody adds the body to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) WithBody(body *models.RawSpec) *PutAPIInventoryAPIIDSpecsProvidedSpecParams { + o.SetBody(body) + return o +} + +// SetBody adds the body to the put API inventory API ID specs provided spec params +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) SetBody(body *models.RawSpec) { + o.Body = body +} + +// WriteToRequest writes these params to a swagger request +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + // path param apiId + if err := r.SetPathParam("apiId", swag.FormatUint32(o.APIID)); err != nil { + return err + } + if o.Body != nil { + if err := r.SetBodyParam(o.Body); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/client/client/operations/put_api_inventory_api_id_specs_provided_spec_responses.go b/api/client/client/operations/put_api_inventory_api_id_specs_provided_spec_responses.go new file mode 100644 index 00000000..65eefdcb --- /dev/null +++ b/api/client/client/operations/put_api_inventory_api_id_specs_provided_spec_responses.go @@ -0,0 +1,151 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/apiclarity/apiclarity/api/client/models" +) + +// PutAPIInventoryAPIIDSpecsProvidedSpecReader is a Reader for the PutAPIInventoryAPIIDSpecsProvidedSpec structure. +type PutAPIInventoryAPIIDSpecsProvidedSpecReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 201: + result := NewPutAPIInventoryAPIIDSpecsProvidedSpecCreated() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPutAPIInventoryAPIIDSpecsProvidedSpecBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + result := NewPutAPIInventoryAPIIDSpecsProvidedSpecDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewPutAPIInventoryAPIIDSpecsProvidedSpecCreated creates a PutAPIInventoryAPIIDSpecsProvidedSpecCreated with default headers values +func NewPutAPIInventoryAPIIDSpecsProvidedSpecCreated() *PutAPIInventoryAPIIDSpecsProvidedSpecCreated { + return &PutAPIInventoryAPIIDSpecsProvidedSpecCreated{} +} + +/* PutAPIInventoryAPIIDSpecsProvidedSpecCreated describes a response with status code 201, with default header values. + +Success +*/ +type PutAPIInventoryAPIIDSpecsProvidedSpecCreated struct { + Payload *models.RawSpec +} + +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecCreated) Error() string { + return fmt.Sprintf("[PUT /apiInventory/{apiId}/specs/providedSpec][%d] putApiInventoryApiIdSpecsProvidedSpecCreated %+v", 201, o.Payload) +} +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecCreated) GetPayload() *models.RawSpec { + return o.Payload +} + +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.RawSpec) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewPutAPIInventoryAPIIDSpecsProvidedSpecBadRequest creates a PutAPIInventoryAPIIDSpecsProvidedSpecBadRequest with default headers values +func NewPutAPIInventoryAPIIDSpecsProvidedSpecBadRequest() *PutAPIInventoryAPIIDSpecsProvidedSpecBadRequest { + return &PutAPIInventoryAPIIDSpecsProvidedSpecBadRequest{} +} + +/* PutAPIInventoryAPIIDSpecsProvidedSpecBadRequest describes a response with status code 400, with default header values. + +Spec validation failure +*/ +type PutAPIInventoryAPIIDSpecsProvidedSpecBadRequest struct { + Payload string +} + +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecBadRequest) Error() string { + return fmt.Sprintf("[PUT /apiInventory/{apiId}/specs/providedSpec][%d] putApiInventoryApiIdSpecsProvidedSpecBadRequest %+v", 400, o.Payload) +} +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecBadRequest) GetPayload() string { + return o.Payload +} + +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewPutAPIInventoryAPIIDSpecsProvidedSpecDefault creates a PutAPIInventoryAPIIDSpecsProvidedSpecDefault with default headers values +func NewPutAPIInventoryAPIIDSpecsProvidedSpecDefault(code int) *PutAPIInventoryAPIIDSpecsProvidedSpecDefault { + return &PutAPIInventoryAPIIDSpecsProvidedSpecDefault{ + _statusCode: code, + } +} + +/* PutAPIInventoryAPIIDSpecsProvidedSpecDefault describes a response with status code -1, with default header values. + +unknown error +*/ +type PutAPIInventoryAPIIDSpecsProvidedSpecDefault struct { + _statusCode int + + Payload *models.APIResponse +} + +// Code gets the status code for the put API inventory API ID specs provided spec default response +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecDefault) Code() int { + return o._statusCode +} + +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecDefault) Error() string { + return fmt.Sprintf("[PUT /apiInventory/{apiId}/specs/providedSpec][%d] PutAPIInventoryAPIIDSpecsProvidedSpec default %+v", o._statusCode, o.Payload) +} +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecDefault) GetPayload() *models.APIResponse { + return o.Payload +} + +func (o *PutAPIInventoryAPIIDSpecsProvidedSpecDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.APIResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/client/models/alert_severity_enum.go b/api/client/models/alert_severity_enum.go new file mode 100644 index 00000000..c4245c72 --- /dev/null +++ b/api/client/models/alert_severity_enum.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// AlertSeverityEnum Level of alert +// +// swagger:model AlertSeverityEnum +type AlertSeverityEnum string + +func NewAlertSeverityEnum(value AlertSeverityEnum) *AlertSeverityEnum { + v := value + return &v +} + +const ( + + // AlertSeverityEnumALERTINFO captures enum value "ALERT_INFO" + AlertSeverityEnumALERTINFO AlertSeverityEnum = "ALERT_INFO" + + // AlertSeverityEnumALERTWARN captures enum value "ALERT_WARN" + AlertSeverityEnumALERTWARN AlertSeverityEnum = "ALERT_WARN" +) + +// for schema +var alertSeverityEnumEnum []interface{} + +func init() { + var res []AlertSeverityEnum + if err := json.Unmarshal([]byte(`["ALERT_INFO","ALERT_WARN"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + alertSeverityEnumEnum = append(alertSeverityEnumEnum, v) + } +} + +func (m AlertSeverityEnum) validateAlertSeverityEnumEnum(path, location string, value AlertSeverityEnum) error { + if err := validate.EnumCase(path, location, value, alertSeverityEnumEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this alert severity enum +func (m AlertSeverityEnum) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateAlertSeverityEnumEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this alert severity enum based on context it is used +func (m AlertSeverityEnum) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/api/client/models/api_count.go b/api/client/models/api_count.go new file mode 100644 index 00000000..13f4a734 --- /dev/null +++ b/api/client/models/api_count.go @@ -0,0 +1,108 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// APICount Api count +// +// swagger:model ApiCount +type APICount struct { + + // api host name + APIHostName string `json:"apiHostName,omitempty"` + + // hold the relevant api info id + APIInfoID uint32 `json:"apiInfoId,omitempty"` + + // api port + APIPort int64 `json:"apiPort,omitempty"` + + // api type + APIType APIType `json:"apiType,omitempty"` + + // num calls + NumCalls int64 `json:"numCalls,omitempty"` +} + +// Validate validates this Api count +func (m *APICount) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAPIType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APICount) validateAPIType(formats strfmt.Registry) error { + if swag.IsZero(m.APIType) { // not required + return nil + } + + if err := m.APIType.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apiType") + } + return err + } + + return nil +} + +// ContextValidate validate this Api count based on the context it is used +func (m *APICount) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAPIType(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APICount) contextValidateAPIType(ctx context.Context, formats strfmt.Registry) error { + + if err := m.APIType.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apiType") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *APICount) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APICount) UnmarshalBinary(b []byte) error { + var res APICount + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/api_event.go b/api/client/models/api_event.go new file mode 100644 index 00000000..f2ad0ab3 --- /dev/null +++ b/api/client/models/api_event.go @@ -0,0 +1,304 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// APIEvent Api event +// +// swagger:model ApiEvent +type APIEvent struct { + + // alerts + Alerts []*ModuleAlert `json:"alerts"` + + // hold the relevant api spec info id + APIInfoID uint32 `json:"apiInfoId,omitempty"` + + // api type + APIType APIType `json:"apiType,omitempty"` + + // destination IP + DestinationIP string `json:"destinationIP,omitempty"` + + // destination port + DestinationPort int64 `json:"destinationPort,omitempty"` + + // has provided spec diff + HasProvidedSpecDiff *bool `json:"hasProvidedSpecDiff,omitempty"` + + // has reconstructed spec diff + HasReconstructedSpecDiff *bool `json:"hasReconstructedSpecDiff,omitempty"` + + // host spec name + HostSpecName string `json:"hostSpecName,omitempty"` + + // id + ID uint32 `json:"id,omitempty"` + + // method + Method HTTPMethod `json:"method,omitempty"` + + // path + Path string `json:"path,omitempty"` + + // query + Query string `json:"query,omitempty"` + + // request time + // Format: date-time + RequestTime strfmt.DateTime `json:"requestTime,omitempty"` + + // source IP + SourceIP string `json:"sourceIP,omitempty"` + + // spec diff type + SpecDiffType *DiffType `json:"specDiffType,omitempty"` + + // status code + StatusCode int64 `json:"statusCode,omitempty"` + + // time + // Format: date-time + Time strfmt.DateTime `json:"time,omitempty"` +} + +// Validate validates this Api event +func (m *APIEvent) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAlerts(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAPIType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMethod(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRequestTime(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSpecDiffType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTime(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIEvent) validateAlerts(formats strfmt.Registry) error { + if swag.IsZero(m.Alerts) { // not required + return nil + } + + for i := 0; i < len(m.Alerts); i++ { + if swag.IsZero(m.Alerts[i]) { // not required + continue + } + + if m.Alerts[i] != nil { + if err := m.Alerts[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("alerts" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *APIEvent) validateAPIType(formats strfmt.Registry) error { + if swag.IsZero(m.APIType) { // not required + return nil + } + + if err := m.APIType.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apiType") + } + return err + } + + return nil +} + +func (m *APIEvent) validateMethod(formats strfmt.Registry) error { + if swag.IsZero(m.Method) { // not required + return nil + } + + if err := m.Method.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("method") + } + return err + } + + return nil +} + +func (m *APIEvent) validateRequestTime(formats strfmt.Registry) error { + if swag.IsZero(m.RequestTime) { // not required + return nil + } + + if err := validate.FormatOf("requestTime", "body", "date-time", m.RequestTime.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *APIEvent) validateSpecDiffType(formats strfmt.Registry) error { + if swag.IsZero(m.SpecDiffType) { // not required + return nil + } + + if m.SpecDiffType != nil { + if err := m.SpecDiffType.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("specDiffType") + } + return err + } + } + + return nil +} + +func (m *APIEvent) validateTime(formats strfmt.Registry) error { + if swag.IsZero(m.Time) { // not required + return nil + } + + if err := validate.FormatOf("time", "body", "date-time", m.Time.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this Api event based on the context it is used +func (m *APIEvent) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAlerts(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateAPIType(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMethod(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateSpecDiffType(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIEvent) contextValidateAlerts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Alerts); i++ { + + if m.Alerts[i] != nil { + if err := m.Alerts[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("alerts" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *APIEvent) contextValidateAPIType(ctx context.Context, formats strfmt.Registry) error { + + if err := m.APIType.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apiType") + } + return err + } + + return nil +} + +func (m *APIEvent) contextValidateMethod(ctx context.Context, formats strfmt.Registry) error { + + if err := m.Method.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("method") + } + return err + } + + return nil +} + +func (m *APIEvent) contextValidateSpecDiffType(ctx context.Context, formats strfmt.Registry) error { + + if m.SpecDiffType != nil { + if err := m.SpecDiffType.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("specDiffType") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *APIEvent) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APIEvent) UnmarshalBinary(b []byte) error { + var res APIEvent + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/api_event_path_and_methods.go b/api/client/models/api_event_path_and_methods.go new file mode 100644 index 00000000..37540b91 --- /dev/null +++ b/api/client/models/api_event_path_and_methods.go @@ -0,0 +1,108 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// APIEventPathAndMethods Api event path and methods +// +// swagger:model ApiEventPathAndMethods +type APIEventPathAndMethods struct { + + // methods + Methods []HTTPMethod `json:"methods"` + + // path + Path string `json:"path,omitempty"` +} + +// Validate validates this Api event path and methods +func (m *APIEventPathAndMethods) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMethods(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIEventPathAndMethods) validateMethods(formats strfmt.Registry) error { + if swag.IsZero(m.Methods) { // not required + return nil + } + + for i := 0; i < len(m.Methods); i++ { + + if err := m.Methods[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("methods" + "." + strconv.Itoa(i)) + } + return err + } + + } + + return nil +} + +// ContextValidate validate this Api event path and methods based on the context it is used +func (m *APIEventPathAndMethods) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateMethods(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIEventPathAndMethods) contextValidateMethods(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Methods); i++ { + + if err := m.Methods[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("methods" + "." + strconv.Itoa(i)) + } + return err + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *APIEventPathAndMethods) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APIEventPathAndMethods) UnmarshalBinary(b []byte) error { + var res APIEventPathAndMethods + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/api_event_sort_key.go b/api/client/models/api_event_sort_key.go new file mode 100644 index 00000000..ab18d7f6 --- /dev/null +++ b/api/client/models/api_event_sort_key.go @@ -0,0 +1,98 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// APIEventSortKey Api event sort key +// +// swagger:model ApiEventSortKey +type APIEventSortKey string + +func NewAPIEventSortKey(value APIEventSortKey) *APIEventSortKey { + v := value + return &v +} + +const ( + + // APIEventSortKeyTime captures enum value "time" + APIEventSortKeyTime APIEventSortKey = "time" + + // APIEventSortKeyMethod captures enum value "method" + APIEventSortKeyMethod APIEventSortKey = "method" + + // APIEventSortKeyPath captures enum value "path" + APIEventSortKeyPath APIEventSortKey = "path" + + // APIEventSortKeyStatusCode captures enum value "statusCode" + APIEventSortKeyStatusCode APIEventSortKey = "statusCode" + + // APIEventSortKeySourceIP captures enum value "sourceIP" + APIEventSortKeySourceIP APIEventSortKey = "sourceIP" + + // APIEventSortKeyDestinationIP captures enum value "destinationIP" + APIEventSortKeyDestinationIP APIEventSortKey = "destinationIP" + + // APIEventSortKeyDestinationPort captures enum value "destinationPort" + APIEventSortKeyDestinationPort APIEventSortKey = "destinationPort" + + // APIEventSortKeySpecDiffType captures enum value "specDiffType" + APIEventSortKeySpecDiffType APIEventSortKey = "specDiffType" + + // APIEventSortKeyHostSpecName captures enum value "hostSpecName" + APIEventSortKeyHostSpecName APIEventSortKey = "hostSpecName" + + // APIEventSortKeyAPIType captures enum value "apiType" + APIEventSortKeyAPIType APIEventSortKey = "apiType" +) + +// for schema +var apiEventSortKeyEnum []interface{} + +func init() { + var res []APIEventSortKey + if err := json.Unmarshal([]byte(`["time","method","path","statusCode","sourceIP","destinationIP","destinationPort","specDiffType","hostSpecName","apiType"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + apiEventSortKeyEnum = append(apiEventSortKeyEnum, v) + } +} + +func (m APIEventSortKey) validateAPIEventSortKeyEnum(path, location string, value APIEventSortKey) error { + if err := validate.EnumCase(path, location, value, apiEventSortKeyEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this Api event sort key +func (m APIEventSortKey) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateAPIEventSortKeyEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this Api event sort key based on context it is used +func (m APIEventSortKey) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/api/client/models/api_event_spec_diff.go b/api/client/models/api_event_spec_diff.go new file mode 100644 index 00000000..a719e475 --- /dev/null +++ b/api/client/models/api_event_spec_diff.go @@ -0,0 +1,135 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// APIEventSpecDiff Api event spec diff +// +// swagger:model ApiEventSpecDiff +type APIEventSpecDiff struct { + + // diff type + DiffType *DiffType `json:"diffType,omitempty"` + + // New spec json string + // Required: true + NewSpec *string `json:"newSpec"` + + // Old spec json string + // Required: true + OldSpec *string `json:"oldSpec"` +} + +// Validate validates this Api event spec diff +func (m *APIEventSpecDiff) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDiffType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNewSpec(formats); err != nil { + res = append(res, err) + } + + if err := m.validateOldSpec(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIEventSpecDiff) validateDiffType(formats strfmt.Registry) error { + if swag.IsZero(m.DiffType) { // not required + return nil + } + + if m.DiffType != nil { + if err := m.DiffType.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("diffType") + } + return err + } + } + + return nil +} + +func (m *APIEventSpecDiff) validateNewSpec(formats strfmt.Registry) error { + + if err := validate.Required("newSpec", "body", m.NewSpec); err != nil { + return err + } + + return nil +} + +func (m *APIEventSpecDiff) validateOldSpec(formats strfmt.Registry) error { + + if err := validate.Required("oldSpec", "body", m.OldSpec); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this Api event spec diff based on the context it is used +func (m *APIEventSpecDiff) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDiffType(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIEventSpecDiff) contextValidateDiffType(ctx context.Context, formats strfmt.Registry) error { + + if m.DiffType != nil { + if err := m.DiffType.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("diffType") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *APIEventSpecDiff) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APIEventSpecDiff) UnmarshalBinary(b []byte) error { + var res APIEventSpecDiff + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/api_info.go b/api/client/models/api_info.go new file mode 100644 index 00000000..b10b4568 --- /dev/null +++ b/api/client/models/api_info.go @@ -0,0 +1,62 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// APIInfo Api info +// +// swagger:model ApiInfo +type APIInfo struct { + + // has provided spec + HasProvidedSpec *bool `json:"hasProvidedSpec,omitempty"` + + // has reconstructed spec + HasReconstructedSpec *bool `json:"hasReconstructedSpec,omitempty"` + + // id + ID uint32 `json:"id,omitempty"` + + // API name + Name string `json:"name,omitempty"` + + // port + Port int64 `json:"port,omitempty"` +} + +// Validate validates this Api info +func (m *APIInfo) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this Api info based on context it is used +func (m *APIInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *APIInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APIInfo) UnmarshalBinary(b []byte) error { + var res APIInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/api_info_with_type.go b/api/client/models/api_info_with_type.go new file mode 100644 index 00000000..37b66732 --- /dev/null +++ b/api/client/models/api_info_with_type.go @@ -0,0 +1,153 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// APIInfoWithType Api info with type +// +// swagger:model ApiInfoWithType +type APIInfoWithType struct { + APIInfo + + // api type + APIType APIType `json:"apiType,omitempty"` +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *APIInfoWithType) UnmarshalJSON(raw []byte) error { + // AO0 + var aO0 APIInfo + if err := swag.ReadJSON(raw, &aO0); err != nil { + return err + } + m.APIInfo = aO0 + + // AO1 + var dataAO1 struct { + APIType APIType `json:"apiType,omitempty"` + } + if err := swag.ReadJSON(raw, &dataAO1); err != nil { + return err + } + + m.APIType = dataAO1.APIType + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m APIInfoWithType) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 2) + + aO0, err := swag.WriteJSON(m.APIInfo) + if err != nil { + return nil, err + } + _parts = append(_parts, aO0) + var dataAO1 struct { + APIType APIType `json:"apiType,omitempty"` + } + + dataAO1.APIType = m.APIType + + jsonDataAO1, errAO1 := swag.WriteJSON(dataAO1) + if errAO1 != nil { + return nil, errAO1 + } + _parts = append(_parts, jsonDataAO1) + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this Api info with type +func (m *APIInfoWithType) Validate(formats strfmt.Registry) error { + var res []error + + // validation for a type composition with APIInfo + if err := m.APIInfo.Validate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAPIType(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIInfoWithType) validateAPIType(formats strfmt.Registry) error { + + if swag.IsZero(m.APIType) { // not required + return nil + } + + if err := m.APIType.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apiType") + } + return err + } + + return nil +} + +// ContextValidate validate this Api info with type based on the context it is used +func (m *APIInfoWithType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + // validation for a type composition with APIInfo + if err := m.APIInfo.ContextValidate(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateAPIType(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIInfoWithType) contextValidateAPIType(ctx context.Context, formats strfmt.Registry) error { + + if err := m.APIType.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apiType") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *APIInfoWithType) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APIInfoWithType) UnmarshalBinary(b []byte) error { + var res APIInfoWithType + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/api_inventory_sort_key.go b/api/client/models/api_inventory_sort_key.go new file mode 100644 index 00000000..92305316 --- /dev/null +++ b/api/client/models/api_inventory_sort_key.go @@ -0,0 +1,80 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// APIInventorySortKey Api inventory sort key +// +// swagger:model ApiInventorySortKey +type APIInventorySortKey string + +func NewAPIInventorySortKey(value APIInventorySortKey) *APIInventorySortKey { + v := value + return &v +} + +const ( + + // APIInventorySortKeyName captures enum value "name" + APIInventorySortKeyName APIInventorySortKey = "name" + + // APIInventorySortKeyPort captures enum value "port" + APIInventorySortKeyPort APIInventorySortKey = "port" + + // APIInventorySortKeyHasReconstructedSpec captures enum value "hasReconstructedSpec" + APIInventorySortKeyHasReconstructedSpec APIInventorySortKey = "hasReconstructedSpec" + + // APIInventorySortKeyHasProvidedSpec captures enum value "hasProvidedSpec" + APIInventorySortKeyHasProvidedSpec APIInventorySortKey = "hasProvidedSpec" +) + +// for schema +var apiInventorySortKeyEnum []interface{} + +func init() { + var res []APIInventorySortKey + if err := json.Unmarshal([]byte(`["name","port","hasReconstructedSpec","hasProvidedSpec"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + apiInventorySortKeyEnum = append(apiInventorySortKeyEnum, v) + } +} + +func (m APIInventorySortKey) validateAPIInventorySortKeyEnum(path, location string, value APIInventorySortKey) error { + if err := validate.EnumCase(path, location, value, apiInventorySortKeyEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this Api inventory sort key +func (m APIInventorySortKey) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateAPIInventorySortKeyEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this Api inventory sort key based on context it is used +func (m APIInventorySortKey) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/api/client/models/api_response.go b/api/client/models/api_response.go new file mode 100644 index 00000000..70956ef4 --- /dev/null +++ b/api/client/models/api_response.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// APIResponse An object that is return in all cases of failures. +// +// swagger:model ApiResponse +type APIResponse struct { + + // message + Message string `json:"message,omitempty"` +} + +// Validate validates this Api response +func (m *APIResponse) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this Api response based on context it is used +func (m *APIResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *APIResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APIResponse) UnmarshalBinary(b []byte) error { + var res APIResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/api_type.go b/api/client/models/api_type.go new file mode 100644 index 00000000..59199617 --- /dev/null +++ b/api/client/models/api_type.go @@ -0,0 +1,74 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// APIType Api type +// +// swagger:model ApiType +type APIType string + +func NewAPIType(value APIType) *APIType { + v := value + return &v +} + +const ( + + // APITypeINTERNAL captures enum value "INTERNAL" + APITypeINTERNAL APIType = "INTERNAL" + + // APITypeEXTERNAL captures enum value "EXTERNAL" + APITypeEXTERNAL APIType = "EXTERNAL" +) + +// for schema +var apiTypeEnum []interface{} + +func init() { + var res []APIType + if err := json.Unmarshal([]byte(`["INTERNAL","EXTERNAL"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + apiTypeEnum = append(apiTypeEnum, v) + } +} + +func (m APIType) validateAPITypeEnum(path, location string, value APIType) error { + if err := validate.EnumCase(path, location, value, apiTypeEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this Api type +func (m APIType) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateAPITypeEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this Api type based on context it is used +func (m APIType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/api/client/models/api_usage.go b/api/client/models/api_usage.go new file mode 100644 index 00000000..b9572bae --- /dev/null +++ b/api/client/models/api_usage.go @@ -0,0 +1,77 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// APIUsage Api usage +// +// swagger:model ApiUsage +type APIUsage struct { + + // num of calls + NumOfCalls int64 `json:"numOfCalls"` + + // time + // Format: date-time + Time strfmt.DateTime `json:"time,omitempty"` +} + +// Validate validates this Api usage +func (m *APIUsage) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateTime(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIUsage) validateTime(formats strfmt.Registry) error { + if swag.IsZero(m.Time) { // not required + return nil + } + + if err := validate.FormatOf("time", "body", "date-time", m.Time.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this Api usage based on context it is used +func (m *APIUsage) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *APIUsage) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APIUsage) UnmarshalBinary(b []byte) error { + var res APIUsage + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/api_usages.go b/api/client/models/api_usages.go new file mode 100644 index 00000000..b37871e5 --- /dev/null +++ b/api/client/models/api_usages.go @@ -0,0 +1,218 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// APIUsages Api usages +// +// swagger:model ApiUsages +type APIUsages struct { + + // apis with diff + ApisWithDiff []*APIUsage `json:"apisWithDiff"` + + // existing apis + ExistingApis []*APIUsage `json:"existingApis"` + + // new apis + NewApis []*APIUsage `json:"newApis"` +} + +// Validate validates this Api usages +func (m *APIUsages) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateApisWithDiff(formats); err != nil { + res = append(res, err) + } + + if err := m.validateExistingApis(formats); err != nil { + res = append(res, err) + } + + if err := m.validateNewApis(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIUsages) validateApisWithDiff(formats strfmt.Registry) error { + if swag.IsZero(m.ApisWithDiff) { // not required + return nil + } + + for i := 0; i < len(m.ApisWithDiff); i++ { + if swag.IsZero(m.ApisWithDiff[i]) { // not required + continue + } + + if m.ApisWithDiff[i] != nil { + if err := m.ApisWithDiff[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apisWithDiff" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *APIUsages) validateExistingApis(formats strfmt.Registry) error { + if swag.IsZero(m.ExistingApis) { // not required + return nil + } + + for i := 0; i < len(m.ExistingApis); i++ { + if swag.IsZero(m.ExistingApis[i]) { // not required + continue + } + + if m.ExistingApis[i] != nil { + if err := m.ExistingApis[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("existingApis" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *APIUsages) validateNewApis(formats strfmt.Registry) error { + if swag.IsZero(m.NewApis) { // not required + return nil + } + + for i := 0; i < len(m.NewApis); i++ { + if swag.IsZero(m.NewApis[i]) { // not required + continue + } + + if m.NewApis[i] != nil { + if err := m.NewApis[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("newApis" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this Api usages based on the context it is used +func (m *APIUsages) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateApisWithDiff(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateExistingApis(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateNewApis(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *APIUsages) contextValidateApisWithDiff(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ApisWithDiff); i++ { + + if m.ApisWithDiff[i] != nil { + if err := m.ApisWithDiff[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apisWithDiff" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *APIUsages) contextValidateExistingApis(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ExistingApis); i++ { + + if m.ExistingApis[i] != nil { + if err := m.ExistingApis[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("existingApis" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *APIUsages) contextValidateNewApis(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.NewApis); i++ { + + if m.NewApis[i] != nil { + if err := m.NewApis[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("newApis" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *APIUsages) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *APIUsages) UnmarshalBinary(b []byte) error { + var res APIUsages + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/approved_review.go b/api/client/models/approved_review.go new file mode 100644 index 00000000..41cf8974 --- /dev/null +++ b/api/client/models/approved_review.go @@ -0,0 +1,112 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ApprovedReview approved review +// +// swagger:model ApprovedReview +type ApprovedReview struct { + + // review path items + ReviewPathItems []*ReviewPathItem `json:"reviewPathItems"` +} + +// Validate validates this approved review +func (m *ApprovedReview) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateReviewPathItems(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ApprovedReview) validateReviewPathItems(formats strfmt.Registry) error { + if swag.IsZero(m.ReviewPathItems) { // not required + return nil + } + + for i := 0; i < len(m.ReviewPathItems); i++ { + if swag.IsZero(m.ReviewPathItems[i]) { // not required + continue + } + + if m.ReviewPathItems[i] != nil { + if err := m.ReviewPathItems[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("reviewPathItems" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this approved review based on the context it is used +func (m *ApprovedReview) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateReviewPathItems(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ApprovedReview) contextValidateReviewPathItems(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ReviewPathItems); i++ { + + if m.ReviewPathItems[i] != nil { + if err := m.ReviewPathItems[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("reviewPathItems" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ApprovedReview) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ApprovedReview) UnmarshalBinary(b []byte) error { + var res ApprovedReview + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/diff_type.go b/api/client/models/diff_type.go new file mode 100644 index 00000000..a9444d50 --- /dev/null +++ b/api/client/models/diff_type.go @@ -0,0 +1,80 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// DiffType diff type +// +// swagger:model DiffType +type DiffType string + +func NewDiffType(value DiffType) *DiffType { + v := value + return &v +} + +const ( + + // DiffTypeZOMBIEDIFF captures enum value "ZOMBIE_DIFF" + DiffTypeZOMBIEDIFF DiffType = "ZOMBIE_DIFF" + + // DiffTypeSHADOWDIFF captures enum value "SHADOW_DIFF" + DiffTypeSHADOWDIFF DiffType = "SHADOW_DIFF" + + // DiffTypeGENERALDIFF captures enum value "GENERAL_DIFF" + DiffTypeGENERALDIFF DiffType = "GENERAL_DIFF" + + // DiffTypeNODIFF captures enum value "NO_DIFF" + DiffTypeNODIFF DiffType = "NO_DIFF" +) + +// for schema +var diffTypeEnum []interface{} + +func init() { + var res []DiffType + if err := json.Unmarshal([]byte(`["ZOMBIE_DIFF","SHADOW_DIFF","GENERAL_DIFF","NO_DIFF"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + diffTypeEnum = append(diffTypeEnum, v) + } +} + +func (m DiffType) validateDiffTypeEnum(path, location string, value DiffType) error { + if err := validate.EnumCase(path, location, value, diffTypeEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this diff type +func (m DiffType) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateDiffTypeEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this diff type based on context it is used +func (m DiffType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/api/client/models/hit_count.go b/api/client/models/hit_count.go new file mode 100644 index 00000000..e048679f --- /dev/null +++ b/api/client/models/hit_count.go @@ -0,0 +1,77 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// HitCount hit count +// +// swagger:model HitCount +type HitCount struct { + + // count + Count int64 `json:"count"` + + // time + // Format: date-time + Time strfmt.DateTime `json:"time,omitempty"` +} + +// Validate validates this hit count +func (m *HitCount) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateTime(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *HitCount) validateTime(formats strfmt.Registry) error { + if swag.IsZero(m.Time) { // not required + return nil + } + + if err := validate.FormatOf("time", "body", "date-time", m.Time.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this hit count based on context it is used +func (m *HitCount) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *HitCount) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *HitCount) UnmarshalBinary(b []byte) error { + var res HitCount + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/http_method.go b/api/client/models/http_method.go new file mode 100644 index 00000000..89956de9 --- /dev/null +++ b/api/client/models/http_method.go @@ -0,0 +1,95 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// HTTPMethod Http method +// +// swagger:model HttpMethod +type HTTPMethod string + +func NewHTTPMethod(value HTTPMethod) *HTTPMethod { + v := value + return &v +} + +const ( + + // HTTPMethodGET captures enum value "GET" + HTTPMethodGET HTTPMethod = "GET" + + // HTTPMethodHEAD captures enum value "HEAD" + HTTPMethodHEAD HTTPMethod = "HEAD" + + // HTTPMethodPOST captures enum value "POST" + HTTPMethodPOST HTTPMethod = "POST" + + // HTTPMethodPUT captures enum value "PUT" + HTTPMethodPUT HTTPMethod = "PUT" + + // HTTPMethodDELETE captures enum value "DELETE" + HTTPMethodDELETE HTTPMethod = "DELETE" + + // HTTPMethodCONNECT captures enum value "CONNECT" + HTTPMethodCONNECT HTTPMethod = "CONNECT" + + // HTTPMethodOPTIONS captures enum value "OPTIONS" + HTTPMethodOPTIONS HTTPMethod = "OPTIONS" + + // HTTPMethodTRACE captures enum value "TRACE" + HTTPMethodTRACE HTTPMethod = "TRACE" + + // HTTPMethodPATCH captures enum value "PATCH" + HTTPMethodPATCH HTTPMethod = "PATCH" +) + +// for schema +var httpMethodEnum []interface{} + +func init() { + var res []HTTPMethod + if err := json.Unmarshal([]byte(`["GET","HEAD","POST","PUT","DELETE","CONNECT","OPTIONS","TRACE","PATCH"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + httpMethodEnum = append(httpMethodEnum, v) + } +} + +func (m HTTPMethod) validateHTTPMethodEnum(path, location string, value HTTPMethod) error { + if err := validate.EnumCase(path, location, value, httpMethodEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this Http method +func (m HTTPMethod) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateHTTPMethodEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this Http method based on context it is used +func (m HTTPMethod) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/api/client/models/method_and_path.go b/api/client/models/method_and_path.go new file mode 100644 index 00000000..680c1bb2 --- /dev/null +++ b/api/client/models/method_and_path.go @@ -0,0 +1,120 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// MethodAndPath method and path +// +// swagger:model MethodAndPath +type MethodAndPath struct { + + // method + Method HTTPMethod `json:"method,omitempty"` + + // path + Path string `json:"path,omitempty"` + + // path Id + // Format: uuid + PathID strfmt.UUID `json:"pathId,omitempty"` +} + +// Validate validates this method and path +func (m *MethodAndPath) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMethod(formats); err != nil { + res = append(res, err) + } + + if err := m.validatePathID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *MethodAndPath) validateMethod(formats strfmt.Registry) error { + if swag.IsZero(m.Method) { // not required + return nil + } + + if err := m.Method.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("method") + } + return err + } + + return nil +} + +func (m *MethodAndPath) validatePathID(formats strfmt.Registry) error { + if swag.IsZero(m.PathID) { // not required + return nil + } + + if err := validate.FormatOf("pathId", "body", "uuid", m.PathID.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this method and path based on the context it is used +func (m *MethodAndPath) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateMethod(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *MethodAndPath) contextValidateMethod(ctx context.Context, formats strfmt.Registry) error { + + if err := m.Method.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("method") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *MethodAndPath) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *MethodAndPath) UnmarshalBinary(b []byte) error { + var res MethodAndPath + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/module_alert.go b/api/client/models/module_alert.go new file mode 100644 index 00000000..2884c50e --- /dev/null +++ b/api/client/models/module_alert.go @@ -0,0 +1,102 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ModuleAlert module alert +// +// swagger:model ModuleAlert +type ModuleAlert struct { + + // alert + Alert AlertSeverityEnum `json:"alert,omitempty"` + + // Name of the module which created this alert + ModuleName string `json:"moduleName,omitempty"` + + // Optional description of reason of the alert + Reason string `json:"reason,omitempty"` +} + +// Validate validates this module alert +func (m *ModuleAlert) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAlert(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ModuleAlert) validateAlert(formats strfmt.Registry) error { + if swag.IsZero(m.Alert) { // not required + return nil + } + + if err := m.Alert.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("alert") + } + return err + } + + return nil +} + +// ContextValidate validate this module alert based on the context it is used +func (m *ModuleAlert) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAlert(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ModuleAlert) contextValidateAlert(ctx context.Context, formats strfmt.Registry) error { + + if err := m.Alert.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("alert") + } + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ModuleAlert) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ModuleAlert) UnmarshalBinary(b []byte) error { + var res ModuleAlert + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/open_api_specs.go b/api/client/models/open_api_specs.go new file mode 100644 index 00000000..c51c2d8c --- /dev/null +++ b/api/client/models/open_api_specs.go @@ -0,0 +1,142 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// OpenAPISpecs An object representing the provided and reconstructed API specs +// +// swagger:model OpenApiSpecs +type OpenAPISpecs struct { + + // provided spec + ProvidedSpec *SpecInfo `json:"providedSpec,omitempty"` + + // reconstructed spec + ReconstructedSpec *SpecInfo `json:"reconstructedSpec,omitempty"` +} + +// Validate validates this open Api specs +func (m *OpenAPISpecs) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateProvidedSpec(formats); err != nil { + res = append(res, err) + } + + if err := m.validateReconstructedSpec(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OpenAPISpecs) validateProvidedSpec(formats strfmt.Registry) error { + if swag.IsZero(m.ProvidedSpec) { // not required + return nil + } + + if m.ProvidedSpec != nil { + if err := m.ProvidedSpec.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("providedSpec") + } + return err + } + } + + return nil +} + +func (m *OpenAPISpecs) validateReconstructedSpec(formats strfmt.Registry) error { + if swag.IsZero(m.ReconstructedSpec) { // not required + return nil + } + + if m.ReconstructedSpec != nil { + if err := m.ReconstructedSpec.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("reconstructedSpec") + } + return err + } + } + + return nil +} + +// ContextValidate validate this open Api specs based on the context it is used +func (m *OpenAPISpecs) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateProvidedSpec(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateReconstructedSpec(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *OpenAPISpecs) contextValidateProvidedSpec(ctx context.Context, formats strfmt.Registry) error { + + if m.ProvidedSpec != nil { + if err := m.ProvidedSpec.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("providedSpec") + } + return err + } + } + + return nil +} + +func (m *OpenAPISpecs) contextValidateReconstructedSpec(ctx context.Context, formats strfmt.Registry) error { + + if m.ReconstructedSpec != nil { + if err := m.ReconstructedSpec.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("reconstructedSpec") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *OpenAPISpecs) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *OpenAPISpecs) UnmarshalBinary(b []byte) error { + var res OpenAPISpecs + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/raw_spec.go b/api/client/models/raw_spec.go new file mode 100644 index 00000000..0b9256dd --- /dev/null +++ b/api/client/models/raw_spec.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// RawSpec spec in json or yaml format +// +// swagger:model rawSpec +type RawSpec struct { + + // spec in json or yaml format + RawSpec string `json:"rawSpec,omitempty"` +} + +// Validate validates this raw spec +func (m *RawSpec) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this raw spec based on context it is used +func (m *RawSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RawSpec) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RawSpec) UnmarshalBinary(b []byte) error { + var res RawSpec + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/review_path_item.go b/api/client/models/review_path_item.go new file mode 100644 index 00000000..a2de6f05 --- /dev/null +++ b/api/client/models/review_path_item.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ReviewPathItem review path item +// +// swagger:model ReviewPathItem +type ReviewPathItem struct { + + // Group of api event paths (original) that suggestedPath is representing + APIEventsPaths []*APIEventPathAndMethods `json:"apiEventsPaths"` + + // Represents the parameterized path suggested by the engine + SuggestedPath string `json:"suggestedPath,omitempty"` +} + +// Validate validates this review path item +func (m *ReviewPathItem) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAPIEventsPaths(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ReviewPathItem) validateAPIEventsPaths(formats strfmt.Registry) error { + if swag.IsZero(m.APIEventsPaths) { // not required + return nil + } + + for i := 0; i < len(m.APIEventsPaths); i++ { + if swag.IsZero(m.APIEventsPaths[i]) { // not required + continue + } + + if m.APIEventsPaths[i] != nil { + if err := m.APIEventsPaths[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apiEventsPaths" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this review path item based on the context it is used +func (m *ReviewPathItem) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateAPIEventsPaths(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ReviewPathItem) contextValidateAPIEventsPaths(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.APIEventsPaths); i++ { + + if m.APIEventsPaths[i] != nil { + if err := m.APIEventsPaths[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apiEventsPaths" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ReviewPathItem) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ReviewPathItem) UnmarshalBinary(b []byte) error { + var res ReviewPathItem + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/spec_diff_time.go b/api/client/models/spec_diff_time.go new file mode 100644 index 00000000..663f8076 --- /dev/null +++ b/api/client/models/spec_diff_time.go @@ -0,0 +1,127 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SpecDiffTime spec diff time +// +// swagger:model SpecDiffTime +type SpecDiffTime struct { + + // api event Id + APIEventID uint32 `json:"apiEventId,omitempty"` + + // api host name + APIHostName string `json:"apiHostName,omitempty"` + + // diff type + DiffType *DiffType `json:"diffType,omitempty"` + + // time + // Format: date-time + Time strfmt.DateTime `json:"time,omitempty"` +} + +// Validate validates this spec diff time +func (m *SpecDiffTime) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateDiffType(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTime(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SpecDiffTime) validateDiffType(formats strfmt.Registry) error { + if swag.IsZero(m.DiffType) { // not required + return nil + } + + if m.DiffType != nil { + if err := m.DiffType.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("diffType") + } + return err + } + } + + return nil +} + +func (m *SpecDiffTime) validateTime(formats strfmt.Registry) error { + if swag.IsZero(m.Time) { // not required + return nil + } + + if err := validate.FormatOf("time", "body", "date-time", m.Time.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this spec diff time based on the context it is used +func (m *SpecDiffTime) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateDiffType(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SpecDiffTime) contextValidateDiffType(ctx context.Context, formats strfmt.Registry) error { + + if m.DiffType != nil { + if err := m.DiffType.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("diffType") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SpecDiffTime) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SpecDiffTime) UnmarshalBinary(b []byte) error { + var res SpecDiffTime + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/spec_info.go b/api/client/models/spec_info.go new file mode 100644 index 00000000..f2926875 --- /dev/null +++ b/api/client/models/spec_info.go @@ -0,0 +1,112 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SpecInfo An object containing info about a spec +// +// swagger:model SpecInfo +type SpecInfo struct { + + // tags + Tags []*SpecTag `json:"tags"` +} + +// Validate validates this spec info +func (m *SpecInfo) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateTags(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SpecInfo) validateTags(formats strfmt.Registry) error { + if swag.IsZero(m.Tags) { // not required + return nil + } + + for i := 0; i < len(m.Tags); i++ { + if swag.IsZero(m.Tags[i]) { // not required + continue + } + + if m.Tags[i] != nil { + if err := m.Tags[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("tags" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this spec info based on the context it is used +func (m *SpecInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateTags(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SpecInfo) contextValidateTags(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Tags); i++ { + + if m.Tags[i] != nil { + if err := m.Tags[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("tags" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SpecInfo) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SpecInfo) UnmarshalBinary(b []byte) error { + var res SpecInfo + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/spec_tag.go b/api/client/models/spec_tag.go new file mode 100644 index 00000000..8509d1b4 --- /dev/null +++ b/api/client/models/spec_tag.go @@ -0,0 +1,118 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SpecTag spec tag +// +// swagger:model SpecTag +type SpecTag struct { + + // description + Description string `json:"description,omitempty"` + + // method and path list + MethodAndPathList []*MethodAndPath `json:"methodAndPathList"` + + // name + Name string `json:"name,omitempty"` +} + +// Validate validates this spec tag +func (m *SpecTag) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateMethodAndPathList(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SpecTag) validateMethodAndPathList(formats strfmt.Registry) error { + if swag.IsZero(m.MethodAndPathList) { // not required + return nil + } + + for i := 0; i < len(m.MethodAndPathList); i++ { + if swag.IsZero(m.MethodAndPathList[i]) { // not required + continue + } + + if m.MethodAndPathList[i] != nil { + if err := m.MethodAndPathList[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("methodAndPathList" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this spec tag based on the context it is used +func (m *SpecTag) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateMethodAndPathList(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SpecTag) contextValidateMethodAndPathList(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.MethodAndPathList); i++ { + + if m.MethodAndPathList[i] != nil { + if err := m.MethodAndPathList[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("methodAndPathList" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SpecTag) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SpecTag) UnmarshalBinary(b []byte) error { + var res SpecTag + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/success_response.go b/api/client/models/success_response.go new file mode 100644 index 00000000..47363142 --- /dev/null +++ b/api/client/models/success_response.go @@ -0,0 +1,50 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SuccessResponse An object that is return in cases of success that return nothing. +// +// swagger:model SuccessResponse +type SuccessResponse struct { + + // message + Message string `json:"message,omitempty"` +} + +// Validate validates this success response +func (m *SuccessResponse) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this success response based on context it is used +func (m *SuccessResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *SuccessResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SuccessResponse) UnmarshalBinary(b []byte) error { + var res SuccessResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/client/models/suggested_review.go b/api/client/models/suggested_review.go new file mode 100644 index 00000000..fdff298b --- /dev/null +++ b/api/client/models/suggested_review.go @@ -0,0 +1,115 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// SuggestedReview suggested review +// +// swagger:model SuggestedReview +type SuggestedReview struct { + + // id + ID uint32 `json:"id,omitempty"` + + // review path items + ReviewPathItems []*ReviewPathItem `json:"reviewPathItems"` +} + +// Validate validates this suggested review +func (m *SuggestedReview) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateReviewPathItems(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SuggestedReview) validateReviewPathItems(formats strfmt.Registry) error { + if swag.IsZero(m.ReviewPathItems) { // not required + return nil + } + + for i := 0; i < len(m.ReviewPathItems); i++ { + if swag.IsZero(m.ReviewPathItems[i]) { // not required + continue + } + + if m.ReviewPathItems[i] != nil { + if err := m.ReviewPathItems[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("reviewPathItems" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this suggested review based on the context it is used +func (m *SuggestedReview) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateReviewPathItems(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SuggestedReview) contextValidateReviewPathItems(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.ReviewPathItems); i++ { + + if m.ReviewPathItems[i] != nil { + if err := m.ReviewPathItems[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("reviewPathItems" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SuggestedReview) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SuggestedReview) UnmarshalBinary(b []byte) error { + var res SuggestedReview + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/generate.sh b/api/generate.sh index 6ab15c04..e19794fa 100755 --- a/api/generate.sh +++ b/api/generate.sh @@ -4,6 +4,9 @@ set -euo pipefail alias goswagger="docker run --rm -it --user $(id -u):$(id -g) -e GOPATH=$GOPATH:/go -v $HOME:$HOME -w $(pwd) quay.io/goswagger/swagger:v0.27.0" +rm -rf client/* +goswagger generate client -f swagger.yaml -t ./client + cp server/restapi/configure_api_clarity_a_p_is.go /tmp/configure_api_clarity_a_p_is.go rm -rf server/* goswagger generate server -f swagger.yaml -t ./server diff --git a/api/go.mod b/api/go.mod index d23f9fc5..42c08848 100644 --- a/api/go.mod +++ b/api/go.mod @@ -1,3 +1,16 @@ module github.com/apiclarity/apiclarity/api go 1.15 + +require ( + github.com/go-openapi/errors v0.20.2 + github.com/go-openapi/loads v0.21.1 + github.com/go-openapi/runtime v0.23.3 + github.com/go-openapi/spec v0.20.5 + github.com/go-openapi/strfmt v0.21.2 + github.com/go-openapi/swag v0.21.1 + github.com/go-openapi/validate v0.21.0 + github.com/jessevdk/go-flags v1.5.0 + github.com/rs/cors v1.8.2 + golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 +) diff --git a/api/go.sum b/api/go.sum new file mode 100644 index 00000000..da553b67 --- /dev/null +++ b/api/go.sum @@ -0,0 +1,197 @@ +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= +github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= +github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= +github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/runtime v0.23.3 h1:/dxjx4KCOQI5ImBMz036F6v/DzZ2NUjSRvbLJs1rgoE= +github.com/go-openapi/runtime v0.23.3/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= +github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/spec v0.20.5 h1:skHa8av4VnAtJU5zyAUXrrdK/NDiVX8lchbG+BfcdrE= +github.com/go-openapi/spec v0.20.5/go.mod h1:QbfOSIVt3/sac+a1wzmKbbcLXm5NdZnyBZYtCijp43o= +github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/validate v0.21.0 h1:+Wqk39yKOhfpLqNLEC0/eViCkzM5FVXVqrvt526+wcI= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R4= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/backend/go.mod b/backend/go.mod index 8e90da90..6787de4d 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -12,14 +12,14 @@ require ( github.com/getkin/kin-openapi v0.87.0 github.com/ghodss/yaml v1.0.0 github.com/go-chi/chi/v5 v5.0.0 - github.com/go-openapi/loads v0.21.0 - github.com/go-openapi/runtime v0.21.0 - github.com/go-openapi/spec v0.20.4 - github.com/go-openapi/strfmt v0.21.0 - github.com/go-openapi/validate v0.20.3 + github.com/go-openapi/loads v0.21.1 + github.com/go-openapi/runtime v0.23.3 + github.com/go-openapi/spec v0.20.5 + github.com/go-openapi/strfmt v0.21.2 + github.com/go-openapi/validate v0.21.0 github.com/golang/mock v1.6.0 github.com/mailru/easyjson v0.7.7 // indirect - github.com/rs/cors v1.8.0 // indirect + github.com/rs/cors v1.8.2 // indirect github.com/satori/go.uuid v1.2.0 github.com/sirupsen/logrus v1.8.1 github.com/spf13/viper v1.8.1 @@ -38,21 +38,19 @@ require ( require ( cloud.google.com/go v0.81.0 // indirect github.com/Portshift/go-utils v0.0.0-20220421083203-89265d8a6487 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/apiclarity/trace-sampling-manager/api v0.0.0 // indirect - github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef // indirect + github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/docker/go-units v0.4.0 // indirect github.com/fsnotify/fsnotify v1.4.9 // indirect github.com/go-logr/logr v1.2.0 // indirect - github.com/go-openapi/analysis v0.20.1 // indirect - github.com/go-openapi/errors v0.20.1 // indirect + github.com/go-openapi/analysis v0.21.2 // indirect + github.com/go-openapi/errors v0.20.2 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.6 // indirect - github.com/go-openapi/swag v0.19.15 // indirect - github.com/go-stack/stack v1.8.0 // indirect + github.com/go-openapi/jsonreference v0.20.0 // indirect + github.com/go-openapi/swag v0.21.1 // indirect + github.com/go-stack/stack v1.8.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.5 // indirect @@ -80,7 +78,7 @@ require ( github.com/mattn/go-colorable v0.1.11 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/mattn/go-sqlite3 v1.14.5 // indirect - github.com/mitchellh/mapstructure v1.4.1 // indirect + github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/oklog/ulid v1.3.1 // indirect @@ -101,13 +99,13 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/yudai/gojsondiff v1.0.0 // indirect github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect - go.mongodb.org/mongo-driver v1.7.3 // indirect + go.mongodb.org/mongo-driver v1.8.3 // indirect golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect golang.org/x/mod v0.4.2 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect + golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect - golang.org/x/sys v0.0.0-20211103235746-7861aae1554b // indirect - golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect + golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect golang.org/x/tools v0.1.5 // indirect diff --git a/backend/go.sum b/backend/go.sum index 67811b02..86182cbc 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -53,9 +53,7 @@ github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb0 github.com/Portshift/go-utils v0.0.0-20220421083203-89265d8a6487 h1:CD9mOTUMX6f33pRJoYUDyI+IDnCWWhwBBoXqxGMrAaQ= github.com/Portshift/go-utils v0.0.0-20220421083203-89265d8a6487/go.mod h1:w2CFHePN1v+p2v/NSpe7aK+cFu0E2+9MrQ3CgB6vydk= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= @@ -73,8 +71,9 @@ github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:l github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg= github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= @@ -140,7 +139,6 @@ github.com/getkin/kin-openapi v0.87.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSy github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do= github.com/gin-gonic/gin v1.7.4/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= @@ -164,8 +162,9 @@ github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2 github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk= github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/analysis v0.20.1 h1:zdVbw8yoD4SWZeq+cWdGgquaB0W4VrsJvDJHJND/Ktc= github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= +github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= @@ -174,8 +173,9 @@ github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpX github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.1 h1:j23mMDtRxMwIobkpId7sWh7Ddcx4ivaoqUbfXx5P+a8= github.com/go-openapi/errors v0.20.1/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= @@ -187,8 +187,9 @@ github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3Hfo github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= +github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= @@ -200,8 +201,9 @@ github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hs github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4= github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o= github.com/go-openapi/loads v0.20.3/go.mod h1:r3u+N8rngPey6DHjYj9G4Wf61heNZjTQX2UjdIvUbn0= -github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68= github.com/go-openapi/loads v0.21.0/go.mod h1:rHYve9nZrQ4CJhyeIIFJINGCg1tQpx2yJrrNo8sf1ws= +github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= @@ -209,8 +211,9 @@ github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2g github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98= github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= github.com/go-openapi/runtime v0.20.0/go.mod h1:2WnLRxMiOUWNN0UZskSkxW0+WXdfB1KmqRKCFH+ZWYk= -github.com/go-openapi/runtime v0.21.0 h1:giZ8eT26R+/rx6RX2MkYjZPY8vPYVKDhP/mOazrQHzM= github.com/go-openapi/runtime v0.21.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= +github.com/go-openapi/runtime v0.23.3 h1:/dxjx4KCOQI5ImBMz036F6v/DzZ2NUjSRvbLJs1rgoE= +github.com/go-openapi/runtime v0.23.3/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= @@ -221,8 +224,9 @@ github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFu github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ= github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg= -github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/spec v0.20.5 h1:skHa8av4VnAtJU5zyAUXrrdK/NDiVX8lchbG+BfcdrE= +github.com/go-openapi/spec v0.20.5/go.mod h1:QbfOSIVt3/sac+a1wzmKbbcLXm5NdZnyBZYtCijp43o= github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= @@ -234,8 +238,10 @@ github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLs github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk= github.com/go-openapi/strfmt v0.20.3/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk= -github.com/go-openapi/strfmt v0.21.0 h1:hX2qEZKmYks+t0hKeb4VTJpUm2UYsdL3+DCid5swxIs= github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= @@ -245,8 +251,9 @@ github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfT github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M= github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM= github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= @@ -255,20 +262,20 @@ github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0 github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI= github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0= -github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw= github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4= +github.com/go-openapi/validate v0.21.0 h1:+Wqk39yKOhfpLqNLEC0/eViCkzM5FVXVqrvt526+wcI= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= -github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-playground/validator/v10 v10.9.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= @@ -473,7 +480,6 @@ github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqx github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -508,7 +514,6 @@ github.com/labstack/echo/v4 v4.6.3 h1:VhPuIZYxsbPmo4m9KAkMU/el2442eB7EBFFhNTTT9a github.com/labstack/echo/v4 v4.6.3/go.mod h1:Hk5OiHj0kDqmFq7aHe7eDqI7CUhuCrfpupQtLGGLm7A= github.com/labstack/gommon v0.3.1 h1:OomWaJXm7xR6L1HmEtGyQf26TEn7V6X88mktX9kee9o= github.com/labstack/gommon v0.3.1/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= -github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= @@ -544,7 +549,6 @@ github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= @@ -561,8 +565,9 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= @@ -616,8 +621,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/rs/cors v1.8.0 h1:P2KMzcFwrPoSjkF1WLRPsp3UMLyql8L4v9hQpVeK5so= -github.com/rs/cors v1.8.0/go.mod h1:EBwu+T5AvHOcXwvZIkQFjUN6s8Czyqw12GL/Y0tUyRM= +github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= @@ -717,8 +722,10 @@ go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4S go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= -go.mongodb.org/mongo-driver v1.7.3 h1:G4l/eYY9VrQAK/AUgkV0koQKzQnyddnWxrd/Etf0jIs= go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R4= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -758,6 +765,7 @@ golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201217014255-9d1352758620/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -851,8 +859,10 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210913180222-943fd674d43e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211101193420-4a448f8816b3/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -943,12 +953,14 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211103235746-7861aae1554b h1:1VkfZQv42XQlA/jchYumAnv1UPo6RgF9rJFkTgZIxO4= golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1163,8 +1175,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= diff --git a/charts/apiclarity/Chart.yaml b/charts/apiclarity/Chart.yaml index 3fa69322..681ab4d1 100755 --- a/charts/apiclarity/Chart.yaml +++ b/charts/apiclarity/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 name: apiclarity -appVersion: latest +appVersion: e2e description: Charts for APIClarity deployment. Reconstruct OpenAPI Specifications from real-time workload traffic seamlessly. -version: latest +version: v1.1 home: https://apiclarity.io/ icon: https://github.com/apiclarity/apiclarity/raw/master/API_clarity.svg sources: diff --git a/e2e/README.md b/e2e/README.md new file mode 100644 index 00000000..893072ac --- /dev/null +++ b/e2e/README.md @@ -0,0 +1,2 @@ +In order to run tests locally. need to increase docker daemon memory to 8G. (On mac with docker desktop) +Careful, this will drain a lot from your computer cpu. \ No newline at end of file diff --git a/e2e/curl.yaml b/e2e/curl.yaml new file mode 100644 index 00000000..349ce206 --- /dev/null +++ b/e2e/curl.yaml @@ -0,0 +1,39 @@ +apiVersion: v1 +kind: Service +metadata: + name: curl + labels: + app: curl +spec: + ports: + - port: 8008 + name: http + selector: + app: curl +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: curl +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: curl +spec: + selector: + matchLabels: + app: curl + replicas: 1 + template: + metadata: + labels: + app: curl + spec: + serviceAccountName: curl + containers: + - name: curl + image: radial/busyboxplus:curl + command: ["/bin/sleep", "10000000"] + imagePullPolicy: IfNotPresent +--- diff --git a/e2e/go.mod b/e2e/go.mod new file mode 100644 index 00000000..1ea85ac5 --- /dev/null +++ b/e2e/go.mod @@ -0,0 +1,68 @@ +module github.com/apiclarity/apiclarity/e2e + +go 1.17 + +require ( + github.com/apiclarity/apiclarity/api v0.0.0 + github.com/go-openapi/runtime v0.23.3 + github.com/go-openapi/strfmt v0.21.2 + gotest.tools v2.2.0+incompatible + k8s.io/api v0.23.0 + k8s.io/apimachinery v0.23.0 + sigs.k8s.io/e2e-framework v0.0.6 +) + +require ( + github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/go-logr/logr v1.2.0 // indirect + github.com/go-openapi/analysis v0.21.2 // indirect + github.com/go-openapi/errors v0.20.2 // indirect + github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/jsonreference v0.20.0 // indirect + github.com/go-openapi/loads v0.21.1 // indirect + github.com/go-openapi/spec v0.20.5 // indirect + github.com/go-openapi/swag v0.21.1 // indirect + github.com/go-openapi/validate v0.21.0 // indirect + github.com/go-stack/stack v1.8.1 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/google/go-cmp v0.5.5 // indirect + github.com/google/gofuzz v1.1.0 // indirect + github.com/googleapis/gnostic v0.5.5 // indirect + github.com/imdario/mergo v0.3.12 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mitchellh/mapstructure v1.4.3 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/oklog/ulid v1.3.1 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/vladimirvivien/gexe v0.1.1 // indirect + go.mongodb.org/mongo-driver v1.8.3 // indirect + golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect + golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect + golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect + golang.org/x/text v0.3.7 // indirect + golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/protobuf v1.27.1 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + k8s.io/client-go v0.23.0 // indirect + k8s.io/klog/v2 v2.30.0 // indirect + k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect + k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b // indirect + sigs.k8s.io/controller-runtime v0.11.0 // indirect + sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.0 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect +) + +replace github.com/apiclarity/apiclarity/api v0.0.0 => ./../api diff --git a/e2e/go.sum b/e2e/go.sum new file mode 100644 index 00000000..fb2048dc --- /dev/null +++ b/e2e/go.sum @@ -0,0 +1,1064 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= +github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= +github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= +github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= +github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= +github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= +github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/runtime v0.23.3 h1:/dxjx4KCOQI5ImBMz036F6v/DzZ2NUjSRvbLJs1rgoE= +github.com/go-openapi/runtime v0.23.3/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= +github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/spec v0.20.5 h1:skHa8av4VnAtJU5zyAUXrrdK/NDiVX8lchbG+BfcdrE= +github.com/go-openapi/spec v0.20.5/go.mod h1:QbfOSIVt3/sac+a1wzmKbbcLXm5NdZnyBZYtCijp43o= +github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/validate v0.21.0 h1:+Wqk39yKOhfpLqNLEC0/eViCkzM5FVXVqrvt526+wcI= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= +github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= +github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/vladimirvivien/gexe v0.1.1 h1:2A0SBaOSKH+cwLVdt6H+KkHZotZWRNLlWygANGw5DxE= +github.com/vladimirvivien/gexe v0.1.1/go.mod h1:LHQL00w/7gDUKIak24n801ABp8C+ni6eBht9vGVst8w= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R4= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= +gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.23.0 h1:WrL1gb73VSC8obi8cuYETJGXEoFNEh3LU0Pt+Sokgro= +k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= +k8s.io/apiextensions-apiserver v0.23.0 h1:uii8BYmHYiT2ZTAJxmvc3X8UhNYMxl2A0z0Xq3Pm+WY= +k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= +k8s.io/apimachinery v0.23.0 h1:mIfWRMjBuMdolAWJ3Fd+aPTMv3X9z+waiARMpvvb0HQ= +k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= +k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= +k8s.io/client-go v0.23.0 h1:vcsOqyPq7XV3QmQRCBH/t9BICJM9Q1M18qahjv+rebY= +k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= +k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= +k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b h1:wxEMGetGMur3J1xuGLQY7GEQYg9bZxKn3tKo5k/eYcs= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= +sigs.k8s.io/controller-runtime v0.11.0 h1:DqO+c8mywcZLFJWILq4iktoECTyn30Bkj0CwgqMpZWQ= +sigs.k8s.io/controller-runtime v0.11.0/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= +sigs.k8s.io/e2e-framework v0.0.6 h1:mGalOzsc25nz4GBOD6oVWBFKFcAanMso6oj3+4wiCFw= +sigs.k8s.io/e2e-framework v0.0.6/go.mod h1:XSknNb1ovbtOyNNjV8DKuY9Nr4rta4wwtnZq3IRGMl0= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.0 h1:kDvPBbnPk+qYmkHmSo8vKGp438IASWofnbbUKDE/bv0= +sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/e2e/kind-config.yaml b/e2e/kind-config.yaml new file mode 100644 index 00000000..38a47e58 --- /dev/null +++ b/e2e/kind-config.yaml @@ -0,0 +1,6 @@ +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +nodes: + - role: control-plane + - role: worker + - role: worker \ No newline at end of file diff --git a/e2e/main_test.go b/e2e/main_test.go new file mode 100644 index 00000000..6bd2074f --- /dev/null +++ b/e2e/main_test.go @@ -0,0 +1,93 @@ +// Copyright © 2021 Cisco Systems, Inc. and its affiliates. +// All rights reserved. +// +// Licensed 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 +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless 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. + +package e2e + +import ( + "context" + "fmt" + "github.com/apiclarity/apiclarity/api/client/client" + "github.com/apiclarity/apiclarity/e2e/utils" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "os" + "sigs.k8s.io/e2e-framework/klient" + "sigs.k8s.io/e2e-framework/pkg/env" + "sigs.k8s.io/e2e-framework/pkg/envconf" + "sigs.k8s.io/e2e-framework/pkg/envfuncs" + "testing" + "time" +) + +var ( + testenv env.Environment + KubeconfigFile string + apiclarityAPI *client.APIClarityAPIs + k8sClient klient.Client +) + +func TestMain(m *testing.M) { + testenv = env.New() + kindClusterName := envconf.RandomName("my-cluster", 16) + + testenv.Setup( + func(ctx context.Context, cfg *envconf.Config) (context.Context, error){ + timeNow := time.Now() + fmt.Printf("time before setting up kind: %v \n", timeNow) + return ctx, nil + }, + envfuncs.CreateKindClusterWithConfig(kindClusterName, "kindest/node:v1.22.2", "kind-config.yaml"), + func(ctx context.Context, cfg *envconf.Config) (context.Context, error){ + fmt.Printf("time after setting up kind: %v \n", time.Now()) + + println("Setup") + k8sClient = cfg.Client() + + tag := os.Getenv("DOCKER_TAG") + + println("DOCKER_TAG=", tag) + + if err := utils.LoadDockerImagesToCluster(kindClusterName, tag); err != nil { + fmt.Printf("Failed to load docker images to cluster: %v", err) + return nil, err + } + + clientTransport := httptransport.New("localhost:" + utils.APIClarityPortForwardHostPort, client.DefaultBasePath, []string{"http"}) + apiclarityAPI = client.New(clientTransport, strfmt.Default) + + KubeconfigFile = cfg.KubeconfigFile() + + return ctx, nil + }, + ) + + testenv.Finish( + func(ctx context.Context, _ *envconf.Config) (context.Context, error){ + println("Finish") + return ctx, nil + }, + envfuncs.DestroyKindCluster(kindClusterName), + ).BeforeEachTest( + func(ctx context.Context, _ *envconf.Config, _ *testing.T) (context.Context, error){ + println("BeforeEachTest") + + + return ctx, nil + }, + ) + + // launch package tests + os.Exit(testenv.Run(m)) +} diff --git a/e2e/utils/asserts.go b/e2e/utils/asserts.go new file mode 100644 index 00000000..0b6164cb --- /dev/null +++ b/e2e/utils/asserts.go @@ -0,0 +1,30 @@ +package utils + +import ( + "testing" + "time" + + "github.com/go-openapi/strfmt" + "gotest.tools/assert" + + "github.com/apiclarity/apiclarity/api/client/client" + "github.com/apiclarity/apiclarity/api/client/client/operations" + "github.com/apiclarity/apiclarity/api/client/models" +) + +func AssertGetAPIInventory(t *testing.T, apiclarityAPI *client.APIClarityAPIs, want *operations.GetAPIInventoryOKBody) { + params := operations.NewGetAPIInventoryParams().WithPage(0).WithPageSize(50).WithType(string(models.APITypeINTERNAL)).WithSortKey("name") + res, err := apiclarityAPI.Operations.GetAPIInventory(params) + assert.NilError(t, err) + assert.DeepEqual(t, res.Payload, want) +} + +func AssertGetAPIEvents(t *testing.T, apiclarityAPI *client.APIClarityAPIs, want *operations.GetAPIEventsOKBody) { + startTime, _ := time.Parse("2006-01-02T15:04:05.000Z", "2021-04-26T11:35:49.775Z") + endTime, _ := time.Parse("2006-01-02T15:04:05.000Z", "2030-04-26T11:35:49.775Z") + + params := operations.NewGetAPIEventsParams().WithPage(0).WithPageSize(50).WithStartTime(strfmt.DateTime(startTime)).WithEndTime(strfmt.DateTime(endTime)).WithSortKey("time").WithShowNonAPI(false) + res, err := apiclarityAPI.Operations.GetAPIEvents(params) + assert.NilError(t, err) + assert.DeepEqual(t, res.Payload, want) +} diff --git a/e2e/utils/consts.go b/e2e/utils/consts.go new file mode 100644 index 00000000..9180ff4c --- /dev/null +++ b/e2e/utils/consts.go @@ -0,0 +1,27 @@ +// Copyright © 2021 Cisco Systems, Inc. and its affiliates. +// All rights reserved. +// +// Licensed 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 +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless 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. + +package utils + +const ( + APIClarityServiceName = "apiclarity-apiclarity" + APIClarityDeploymentName = "apiclarity-apiclarity" + APIClarityNamespace = "apiclarity" + APIClarityHelmReleaseName = "apiclarity" + APIClarityPortForwardHostPort = "8089" + APIClarityPortForwardTargetPort = "8080" + + IstioNamespace = "istio-system" +) diff --git a/e2e/utils/debug.go b/e2e/utils/debug.go new file mode 100644 index 00000000..98c78d43 --- /dev/null +++ b/e2e/utils/debug.go @@ -0,0 +1,29 @@ +package utils + +import ( + "fmt" + "os/exec" +) + +func DescribeAPIClarityDeployment() { + cmd := exec.Command("kubectl", "-n", "apiclarity", "describe", "deployments.apps", APIClarityDeploymentName) + + out, err := cmd.CombinedOutput() + if err != nil { + fmt.Printf("Failed to execute command. %v, %s", err, out) + return + } + fmt.Printf("kubectl describe deployments.apps -n apiclarity apiclarity-apiclarity:\n %s\n", out) +} + +func DescribeAPIClarityPods() { + cmd := exec.Command("kubectl", "-n", "apiclarity", "describe", "pods") + + out, err := cmd.CombinedOutput() + if err != nil { + fmt.Printf("Failed to execute command. %v, %s", err, out) + return + } + fmt.Printf("kubectl describe pods -n apiclarity:\n %s\n", out) +} + diff --git a/e2e/utils/utils.go b/e2e/utils/utils.go new file mode 100644 index 00000000..ea067200 --- /dev/null +++ b/e2e/utils/utils.go @@ -0,0 +1,189 @@ +// Copyright © 2021 Cisco Systems, Inc. and its affiliates. +// All rights reserved. +// +// Licensed 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 +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless 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. + +package utils + +import ( + "context" + "fmt" + v1 "k8s.io/api/core/v1" + v12 "k8s.io/apimachinery/pkg/apis/meta/v1" + "os" + "os/exec" + "path/filepath" + "sigs.k8s.io/e2e-framework/klient" + "sigs.k8s.io/e2e-framework/third_party/helm" + "time" +) + +// EXPORTED: + +var IstioInjectionLabel = map[string]string{ + "istio-injection": "enabled", +} + +func InstallCurl() error { + cmd := exec.Command("kubectl", "-n", "test", "apply", "-f", "curl.yaml") + + out, err := cmd.CombinedOutput() + if err != nil { + return fmt.Errorf("failed to execute command. %v, %s", err, out) + } + return nil +} + +func InstallHttpbin(manager *helm.Manager) error { + // helm repo add --force-update matheusfm https://matheusfm.dev/charts + err := manager.RunRepo(helm.WithArgs("add", "--force-update", "matheusfm", "https://matheusfm.dev/charts")) + if err != nil { + return fmt.Errorf("failed to run helm repo add --force-update matheusfm https://matheusfm.dev/charts: %v", err) + } + + // helm install httpbin matheusfm/httpbin -n test --wait + err = manager.RunInstall(helm.WithName("httpbin"), helm.WithChart("matheusfm/httpbin"), + helm.WithNamespace("test"), helm.WithArgs("--wait")) + if err != nil { + return fmt.Errorf("failed to run helm install httpbin matheusfm/httpbin -n test --wait: %v", err) + } + return nil +} + +func LoadDockerImagesToCluster(cluster, tag string) error { + if err := LoadDockerImageToCluster(cluster, fmt.Sprintf("ghcr.io/apiclarity/apiclarity:%v", tag)); err != nil { + return fmt.Errorf("failed to load docker image to cluster: %v", err) + } + if err := LoadDockerImageToCluster(cluster, fmt.Sprintf("ghcr.io/apiclarity/kong-plugin:%v", tag)); err != nil { + return fmt.Errorf("failed to load docker image to cluster: %v", err) + } + if err := LoadDockerImageToCluster(cluster, fmt.Sprintf("ghcr.io/apiclarity/tyk-plugin-v3.2.2:%v", tag)); err != nil { + return fmt.Errorf("failed to load docker image to cluster: %v", err) + } + if err := LoadDockerImageToCluster(cluster, fmt.Sprintf("ghcr.io/apiclarity/passive-taper:%v", tag)); err != nil { + return fmt.Errorf("failed to load docker image to cluster: %v", err) + } + + return nil +} + +func LoadDockerImageToCluster(cluster, image string) error { + cmd := exec.Command("kind", "load", "docker-image", image, "--name", cluster) + + out, err := cmd.CombinedOutput() + if err != nil { + return fmt.Errorf("failed to execute command. %v, %s", err, out) + } + return nil +} + +func HttpReqFromCurlToHttpbin() error { + cmd := exec.Command("kubectl", "-n", "test", "exec", "-i", fmt.Sprintf("%s/%s", "service", "curl"), "-c", "curl", "--", "curl", "-H", "Content-Type: application/json", "httpbin.test.svc.cluster.local:80/get") + + out, err := cmd.CombinedOutput() + if err != nil { + return fmt.Errorf("failed to execute command. %v, %s", err, out) + } + fmt.Printf("response from httpbin: %s", out) + return nil +} + +var curDir, _ = os.Getwd() +var chartPath = filepath.Join(curDir, "../charts/apiclarity") + +func InstallAPIClarity(manager *helm.Manager, args string) error { + if err := manager.RunInstall(helm.WithName(APIClarityHelmReleaseName), + helm.WithVersion("v1.1"), + helm.WithNamespace(APIClarityNamespace), + helm.WithChart(chartPath), + helm.WithArgs(args)); err != nil { + return fmt.Errorf("failed to run helm install command with args: %v. %v", args, err) + } + return nil +} + +func PortForwardToAPIClarity(stopCh chan struct{}) { + // TODO make it better + go func() { + err, out := portForward("service", APIClarityNamespace, APIClarityServiceName, APIClarityPortForwardHostPort, APIClarityPortForwardTargetPort, stopCh) + if err != nil { + fmt.Printf("port forward failed. %s. %v", out, err) + return + } + }() + time.Sleep(3 * time.Second) +} + +func CreateNamespace(client klient.Client ,name string, labels map[string]string) error { + var ns = v1.Namespace{ + TypeMeta: v12.TypeMeta{ + Kind: "Namespace", + APIVersion: "v1", + }, + ObjectMeta: v12.ObjectMeta{ + Name: name, + Labels: labels, + }, + } + if err := client.Resources(name).Create(context.TODO(), &ns); err != nil { + return err + } + return nil +} + +func BoolPtr(val bool) *bool { + ret := val + return &ret +} + +func Int64Ptr(val int64) *int64 { + ret := val + return &ret +} + +//TODO use https://github.com/kubernetes-sigs/e2e-framework/tree/main/examples/wait_for_resources +func WaitForAPIClarityPodRunning(client klient.Client) error { + podList := v1.PodList{} + ticker := time.NewTicker(3 * time.Second) + defer ticker.Stop() + timeout := time.NewTimer(3 * time.Minute) + for { + select { + case <-timeout.C: + return fmt.Errorf("timeout reached") + case <-ticker.C: + if err := client.Resources(APIClarityNamespace).List(context.TODO(), &podList, func(lo *v12.ListOptions){ + lo.LabelSelector = "app=apiclarity-apiclarity" + }); err != nil { + return fmt.Errorf("failed to get pod apiclarity. %v", err) + } + pod := podList.Items[0] + if pod.Status.Phase == v1.PodRunning { + return nil + } + } + } +} + +// NON EXPORTED: + +func portForward(kind, namespace, name, hostPort, targetPort string, stopCh chan struct{}) (error, []byte) { + cmd := exec.Command("kubectl", "port-forward", "-n", namespace, + fmt.Sprintf("%s/%s", kind, name), fmt.Sprintf("%s:%s", hostPort, targetPort)) + + out, err := cmd.CombinedOutput() + if err != nil { + return err, out + } + return nil, nil +} diff --git a/e2e/wasm_test.go b/e2e/wasm_test.go new file mode 100644 index 00000000..f6e149a5 --- /dev/null +++ b/e2e/wasm_test.go @@ -0,0 +1,149 @@ +// Copyright © 2021 Cisco Systems, Inc. and its affiliates. +// All rights reserved. +// +// Licensed 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 +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless 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. + +package e2e + +import ( + "context" + "fmt" + "testing" + "time" + + "github.com/apiclarity/apiclarity/e2e/utils" + + "gotest.tools/assert" + "sigs.k8s.io/e2e-framework/pkg/envconf" + "sigs.k8s.io/e2e-framework/pkg/features" + "sigs.k8s.io/e2e-framework/third_party/helm" + + "github.com/apiclarity/apiclarity/api/client/client/operations" + "github.com/apiclarity/apiclarity/api/client/models" +) + +var wantGetAPIInventoryOKBody = &operations.GetAPIInventoryOKBody{ + Items: []*models.APIInfo{ + { + HasProvidedSpec: utils.BoolPtr(false), + HasReconstructedSpec: utils.BoolPtr(false), + ID: 1, + Name: "httpbin.test", + Port: 80, + }, + }, + Total: utils.Int64Ptr(1), +} + +func TestWasm(t *testing.T) { + stopCh := make(chan struct{}) + //defer func() { + // stopCh <- struct{}{} + // time.Sleep(2 * time.Second) + //}() + assert.NilError(t, setupWasmTestEnv(stopCh)) + + // wait for httpbin and curl to be restarted after deployment patch. better way of doing it? + time.Sleep(60*time.Second) + + println("making telemetry from curl to httpbin...") + assert.NilError(t, utils.HttpReqFromCurlToHttpbin()) + + // wait for database to be updated + time.Sleep(2*time.Second) + + + f1 := features.New("telemetry event"). + WithLabel("type", "event"). + Assess("telemetry event exist in DB", func(ctx context.Context, t *testing.T, cfg *envconf.Config) context.Context { + utils.AssertGetAPIEvents(t, apiclarityAPI, nil) + return ctx + }).Feature() + + f2 := features.New("spec"). + WithLabel("type", "spec"). + Assess("spec exist in DB", func(ctx context.Context, t *testing.T, cfg *envconf.Config) context.Context { + utils.AssertGetAPIInventory(t, apiclarityAPI, wantGetAPIInventoryOKBody) + return ctx + }).Feature() + + // test features + testenv.Test(t, f1, f2) +} + +func setupWasmTestEnv(stopCh chan struct{}) error { + println("Set up wasm test env...") + + helmManager := helm.New(KubeconfigFile) + println("installing istio...") + if err := installIstio(helmManager); err != nil { + return fmt.Errorf("failed to install istio: %v", err) + } + + println("creating namespace test with istio injection enabled...") + if err := utils.CreateNamespace(k8sClient, "test", utils.IstioInjectionLabel); err != nil { + return fmt.Errorf("failed to create test namespace: %v", err) + } + + println("deploying curl and httpbin to test namespace...") + if err := utils.InstallHttpbin(helmManager); err != nil { + return fmt.Errorf("failed to install htpbin: %v", err) + } + if err := utils.InstallCurl(); err != nil { + return fmt.Errorf("failed to install curl: %v", err) + } + + println("deploying apiclarity with wasm enabled...") + // helm install --set 'trafficSource.envoyWasm.enabled=true' --set 'trafficSource.envoyWasm.namespaces={test}' --create-namespace apiclarity ../charts/apiclarity -n apiclarity --wait + if err := utils.InstallAPIClarity(helmManager, "--create-namespace --set 'trafficSource.envoyWasm.namespaces={test}' --set 'trafficSource.envoyWasm.enabled=true --wait'"); err != nil { + return fmt.Errorf("failed to install apiclarity: %v", err) + } + + println("waiting for apiclarity to run...") + if err := utils.WaitForAPIClarityPodRunning(k8sClient); err != nil { + utils.DescribeAPIClarityDeployment() + utils.DescribeAPIClarityPods() + return fmt.Errorf("failed to wait for apiclarity pod to be running: %v", err) + } + + println("port-forward to apiclarity...") + utils.PortForwardToAPIClarity(stopCh) + + return nil +} + +func installIstio(manager *helm.Manager) error { + // helm repo add --force-update istio https://istio-release.storage.googleapis.com/charts + err := manager.RunRepo(helm.WithArgs("add", "--force-update", "istio", "https://istio-release.storage.googleapis.com/charts")) + if err != nil { + return fmt.Errorf("failed to run helm repo add --force-update istio https://istio-release.storage.googleapis.com/charts: %v", err) + } + // helm repo update + err = manager.RunRepo(helm.WithArgs("update")) + if err != nil { + return fmt.Errorf("failed to run helm repo update: %v", err) + } + // helm install istio-base istio/base -n istio-system --create-namespace + err = manager.RunInstall(helm.WithName("istio-base"), helm.WithChart("istio/base"), + helm.WithNamespace(utils.IstioNamespace), helm.WithArgs("--create-namespace")) + if err != nil { + return fmt.Errorf("failed to run helm install istio-base istio/base -n istio-system --create-namespace: %v", err) + } + // helm install istiod istio/istiod -n istio-system --wait + err = manager.RunInstall(helm.WithName("istiod"), helm.WithChart("istio/istiod"), + helm.WithNamespace(utils.IstioNamespace), helm.WithArgs("--wait")) + if err != nil { + return fmt.Errorf("failed to run helm install istiod istio/istiod -n istio-system --wait: %v", err) + } + return nil +}