diff --git a/falcon/client/spotlight_vulnerabilities/combined_query_vulnerabilities_parameters.go b/falcon/client/spotlight_vulnerabilities/combined_query_vulnerabilities_parameters.go new file mode 100644 index 00000000..d103f07b --- /dev/null +++ b/falcon/client/spotlight_vulnerabilities/combined_query_vulnerabilities_parameters.go @@ -0,0 +1,310 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package spotlight_vulnerabilities + +// 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" +) + +// NewCombinedQueryVulnerabilitiesParams creates a new CombinedQueryVulnerabilitiesParams 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 NewCombinedQueryVulnerabilitiesParams() *CombinedQueryVulnerabilitiesParams { + return &CombinedQueryVulnerabilitiesParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewCombinedQueryVulnerabilitiesParamsWithTimeout creates a new CombinedQueryVulnerabilitiesParams object +// with the ability to set a timeout on a request. +func NewCombinedQueryVulnerabilitiesParamsWithTimeout(timeout time.Duration) *CombinedQueryVulnerabilitiesParams { + return &CombinedQueryVulnerabilitiesParams{ + timeout: timeout, + } +} + +// NewCombinedQueryVulnerabilitiesParamsWithContext creates a new CombinedQueryVulnerabilitiesParams object +// with the ability to set a context for a request. +func NewCombinedQueryVulnerabilitiesParamsWithContext(ctx context.Context) *CombinedQueryVulnerabilitiesParams { + return &CombinedQueryVulnerabilitiesParams{ + Context: ctx, + } +} + +// NewCombinedQueryVulnerabilitiesParamsWithHTTPClient creates a new CombinedQueryVulnerabilitiesParams object +// with the ability to set a custom HTTPClient for a request. +func NewCombinedQueryVulnerabilitiesParamsWithHTTPClient(client *http.Client) *CombinedQueryVulnerabilitiesParams { + return &CombinedQueryVulnerabilitiesParams{ + HTTPClient: client, + } +} + +/* CombinedQueryVulnerabilitiesParams contains all the parameters to send to the API endpoint + for the combined query vulnerabilities operation. + + Typically these are written to a http.Request. +*/ +type CombinedQueryVulnerabilitiesParams struct { + + /* After. + + A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + */ + After *string + + /* Facet. + + Select various details blocks to be returned for each vulnerability entity. Supported values: + + + */ + Facet []string + + /* Filter. + + Filter items using a query in Falcon Query Language (FQL). Wildcards * are unsupported. + + Common filter options include: + + + */ + Filter string + + /* Limit. + + The number of items to return in this response (default: 100, max: 5000). Use with the after parameter to manage pagination of results. + */ + Limit *int64 + + /* Sort. + + Sort vulnerabilities by their properties. Common sort options include: + + + */ + Sort *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the combined query vulnerabilities params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *CombinedQueryVulnerabilitiesParams) WithDefaults() *CombinedQueryVulnerabilitiesParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the combined query vulnerabilities params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *CombinedQueryVulnerabilitiesParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) WithTimeout(timeout time.Duration) *CombinedQueryVulnerabilitiesParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) WithContext(ctx context.Context) *CombinedQueryVulnerabilitiesParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) WithHTTPClient(client *http.Client) *CombinedQueryVulnerabilitiesParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAfter adds the after to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) WithAfter(after *string) *CombinedQueryVulnerabilitiesParams { + o.SetAfter(after) + return o +} + +// SetAfter adds the after to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) SetAfter(after *string) { + o.After = after +} + +// WithFacet adds the facet to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) WithFacet(facet []string) *CombinedQueryVulnerabilitiesParams { + o.SetFacet(facet) + return o +} + +// SetFacet adds the facet to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) SetFacet(facet []string) { + o.Facet = facet +} + +// WithFilter adds the filter to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) WithFilter(filter string) *CombinedQueryVulnerabilitiesParams { + o.SetFilter(filter) + return o +} + +// SetFilter adds the filter to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) SetFilter(filter string) { + o.Filter = filter +} + +// WithLimit adds the limit to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) WithLimit(limit *int64) *CombinedQueryVulnerabilitiesParams { + o.SetLimit(limit) + return o +} + +// SetLimit adds the limit to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) SetLimit(limit *int64) { + o.Limit = limit +} + +// WithSort adds the sort to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) WithSort(sort *string) *CombinedQueryVulnerabilitiesParams { + o.SetSort(sort) + return o +} + +// SetSort adds the sort to the combined query vulnerabilities params +func (o *CombinedQueryVulnerabilitiesParams) SetSort(sort *string) { + o.Sort = sort +} + +// WriteToRequest writes these params to a swagger request +func (o *CombinedQueryVulnerabilitiesParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.After != nil { + + // query param after + var qrAfter string + + if o.After != nil { + qrAfter = *o.After + } + qAfter := qrAfter + if qAfter != "" { + + if err := r.SetQueryParam("after", qAfter); err != nil { + return err + } + } + } + + if o.Facet != nil { + + // binding items for facet + joinedFacet := o.bindParamFacet(reg) + + // query array param facet + if err := r.SetQueryParam("facet", joinedFacet...); err != nil { + return err + } + } + + // query param filter + qrFilter := o.Filter + qFilter := qrFilter + if qFilter != "" { + + if err := r.SetQueryParam("filter", qFilter); err != nil { + return err + } + } + + if o.Limit != nil { + + // query param limit + var qrLimit int64 + + if o.Limit != nil { + qrLimit = *o.Limit + } + qLimit := swag.FormatInt64(qrLimit) + if qLimit != "" { + + if err := r.SetQueryParam("limit", qLimit); err != nil { + return err + } + } + } + + if o.Sort != nil { + + // query param sort + var qrSort string + + if o.Sort != nil { + qrSort = *o.Sort + } + qSort := qrSort + if qSort != "" { + + if err := r.SetQueryParam("sort", qSort); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindParamCombinedQueryVulnerabilities binds the parameter facet +func (o *CombinedQueryVulnerabilitiesParams) bindParamFacet(formats strfmt.Registry) []string { + facetIR := o.Facet + + var facetIC []string + for _, facetIIR := range facetIR { // explode []string + + facetIIV := facetIIR // string as string + facetIC = append(facetIC, facetIIV) + } + + // items.CollectionFormat: "csv" + facetIS := swag.JoinByFormat(facetIC, "csv") + + return facetIS +} diff --git a/falcon/client/spotlight_vulnerabilities/combined_query_vulnerabilities_responses.go b/falcon/client/spotlight_vulnerabilities/combined_query_vulnerabilities_responses.go new file mode 100644 index 00000000..c25ff6a7 --- /dev/null +++ b/falcon/client/spotlight_vulnerabilities/combined_query_vulnerabilities_responses.go @@ -0,0 +1,494 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package spotlight_vulnerabilities + +// 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/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + + "github.com/crowdstrike/gofalcon/falcon/models" +) + +// CombinedQueryVulnerabilitiesReader is a Reader for the CombinedQueryVulnerabilities structure. +type CombinedQueryVulnerabilitiesReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *CombinedQueryVulnerabilitiesReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewCombinedQueryVulnerabilitiesOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewCombinedQueryVulnerabilitiesBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 403: + result := NewCombinedQueryVulnerabilitiesForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 429: + result := NewCombinedQueryVulnerabilitiesTooManyRequests() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewCombinedQueryVulnerabilitiesInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + result := NewCombinedQueryVulnerabilitiesDefault(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 + } +} + +// NewCombinedQueryVulnerabilitiesOK creates a CombinedQueryVulnerabilitiesOK with default headers values +func NewCombinedQueryVulnerabilitiesOK() *CombinedQueryVulnerabilitiesOK { + return &CombinedQueryVulnerabilitiesOK{} +} + +/* CombinedQueryVulnerabilitiesOK describes a response with status code 200, with default header values. + +OK +*/ +type CombinedQueryVulnerabilitiesOK struct { + + /* Trace-ID: submit to support if resolving an issue + */ + XCSTRACEID string + + /* Request limit per minute. + */ + XRateLimitLimit int64 + + /* The number of requests remaining for the sliding one minute window. + */ + XRateLimitRemaining int64 + + Payload *models.DomainSPAPICombinedVulnerabilitiesResponse +} + +func (o *CombinedQueryVulnerabilitiesOK) Error() string { + return fmt.Sprintf("[GET /spotlight/combined/vulnerabilities/v1][%d] combinedQueryVulnerabilitiesOK %+v", 200, o.Payload) +} +func (o *CombinedQueryVulnerabilitiesOK) GetPayload() *models.DomainSPAPICombinedVulnerabilitiesResponse { + return o.Payload +} + +func (o *CombinedQueryVulnerabilitiesOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // hydrates response header X-CS-TRACEID + hdrXCSTRACEID := response.GetHeader("X-CS-TRACEID") + + if hdrXCSTRACEID != "" { + o.XCSTRACEID = hdrXCSTRACEID + } + + // hydrates response header X-RateLimit-Limit + hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit") + + if hdrXRateLimitLimit != "" { + valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit) + if err != nil { + return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit) + } + o.XRateLimitLimit = valxRateLimitLimit + } + + // hydrates response header X-RateLimit-Remaining + hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining") + + if hdrXRateLimitRemaining != "" { + valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining) + if err != nil { + return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining) + } + o.XRateLimitRemaining = valxRateLimitRemaining + } + + o.Payload = new(models.DomainSPAPICombinedVulnerabilitiesResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewCombinedQueryVulnerabilitiesBadRequest creates a CombinedQueryVulnerabilitiesBadRequest with default headers values +func NewCombinedQueryVulnerabilitiesBadRequest() *CombinedQueryVulnerabilitiesBadRequest { + return &CombinedQueryVulnerabilitiesBadRequest{} +} + +/* CombinedQueryVulnerabilitiesBadRequest describes a response with status code 400, with default header values. + +Bad Request +*/ +type CombinedQueryVulnerabilitiesBadRequest struct { + + /* Trace-ID: submit to support if resolving an issue + */ + XCSTRACEID string + + /* Request limit per minute. + */ + XRateLimitLimit int64 + + /* The number of requests remaining for the sliding one minute window. + */ + XRateLimitRemaining int64 + + Payload *models.DomainSPAPICombinedVulnerabilitiesResponse +} + +func (o *CombinedQueryVulnerabilitiesBadRequest) Error() string { + return fmt.Sprintf("[GET /spotlight/combined/vulnerabilities/v1][%d] combinedQueryVulnerabilitiesBadRequest %+v", 400, o.Payload) +} +func (o *CombinedQueryVulnerabilitiesBadRequest) GetPayload() *models.DomainSPAPICombinedVulnerabilitiesResponse { + return o.Payload +} + +func (o *CombinedQueryVulnerabilitiesBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // hydrates response header X-CS-TRACEID + hdrXCSTRACEID := response.GetHeader("X-CS-TRACEID") + + if hdrXCSTRACEID != "" { + o.XCSTRACEID = hdrXCSTRACEID + } + + // hydrates response header X-RateLimit-Limit + hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit") + + if hdrXRateLimitLimit != "" { + valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit) + if err != nil { + return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit) + } + o.XRateLimitLimit = valxRateLimitLimit + } + + // hydrates response header X-RateLimit-Remaining + hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining") + + if hdrXRateLimitRemaining != "" { + valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining) + if err != nil { + return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining) + } + o.XRateLimitRemaining = valxRateLimitRemaining + } + + o.Payload = new(models.DomainSPAPICombinedVulnerabilitiesResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewCombinedQueryVulnerabilitiesForbidden creates a CombinedQueryVulnerabilitiesForbidden with default headers values +func NewCombinedQueryVulnerabilitiesForbidden() *CombinedQueryVulnerabilitiesForbidden { + return &CombinedQueryVulnerabilitiesForbidden{} +} + +/* CombinedQueryVulnerabilitiesForbidden describes a response with status code 403, with default header values. + +Forbidden +*/ +type CombinedQueryVulnerabilitiesForbidden struct { + + /* Trace-ID: submit to support if resolving an issue + */ + XCSTRACEID string + + /* Request limit per minute. + */ + XRateLimitLimit int64 + + /* The number of requests remaining for the sliding one minute window. + */ + XRateLimitRemaining int64 + + Payload *models.MsaReplyMetaOnly +} + +func (o *CombinedQueryVulnerabilitiesForbidden) Error() string { + return fmt.Sprintf("[GET /spotlight/combined/vulnerabilities/v1][%d] combinedQueryVulnerabilitiesForbidden %+v", 403, o.Payload) +} +func (o *CombinedQueryVulnerabilitiesForbidden) GetPayload() *models.MsaReplyMetaOnly { + return o.Payload +} + +func (o *CombinedQueryVulnerabilitiesForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // hydrates response header X-CS-TRACEID + hdrXCSTRACEID := response.GetHeader("X-CS-TRACEID") + + if hdrXCSTRACEID != "" { + o.XCSTRACEID = hdrXCSTRACEID + } + + // hydrates response header X-RateLimit-Limit + hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit") + + if hdrXRateLimitLimit != "" { + valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit) + if err != nil { + return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit) + } + o.XRateLimitLimit = valxRateLimitLimit + } + + // hydrates response header X-RateLimit-Remaining + hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining") + + if hdrXRateLimitRemaining != "" { + valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining) + if err != nil { + return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining) + } + o.XRateLimitRemaining = valxRateLimitRemaining + } + + o.Payload = new(models.MsaReplyMetaOnly) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewCombinedQueryVulnerabilitiesTooManyRequests creates a CombinedQueryVulnerabilitiesTooManyRequests with default headers values +func NewCombinedQueryVulnerabilitiesTooManyRequests() *CombinedQueryVulnerabilitiesTooManyRequests { + return &CombinedQueryVulnerabilitiesTooManyRequests{} +} + +/* CombinedQueryVulnerabilitiesTooManyRequests describes a response with status code 429, with default header values. + +Too Many Requests +*/ +type CombinedQueryVulnerabilitiesTooManyRequests struct { + + /* Trace-ID: submit to support if resolving an issue + */ + XCSTRACEID string + + /* Request limit per minute. + */ + XRateLimitLimit int64 + + /* The number of requests remaining for the sliding one minute window. + */ + XRateLimitRemaining int64 + + /* Too many requests, retry after this time (as milliseconds since epoch) + */ + XRateLimitRetryAfter int64 + + Payload *models.MsaReplyMetaOnly +} + +func (o *CombinedQueryVulnerabilitiesTooManyRequests) Error() string { + return fmt.Sprintf("[GET /spotlight/combined/vulnerabilities/v1][%d] combinedQueryVulnerabilitiesTooManyRequests %+v", 429, o.Payload) +} +func (o *CombinedQueryVulnerabilitiesTooManyRequests) GetPayload() *models.MsaReplyMetaOnly { + return o.Payload +} + +func (o *CombinedQueryVulnerabilitiesTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // hydrates response header X-CS-TRACEID + hdrXCSTRACEID := response.GetHeader("X-CS-TRACEID") + + if hdrXCSTRACEID != "" { + o.XCSTRACEID = hdrXCSTRACEID + } + + // hydrates response header X-RateLimit-Limit + hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit") + + if hdrXRateLimitLimit != "" { + valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit) + if err != nil { + return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit) + } + o.XRateLimitLimit = valxRateLimitLimit + } + + // hydrates response header X-RateLimit-Remaining + hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining") + + if hdrXRateLimitRemaining != "" { + valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining) + if err != nil { + return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining) + } + o.XRateLimitRemaining = valxRateLimitRemaining + } + + // hydrates response header X-RateLimit-RetryAfter + hdrXRateLimitRetryAfter := response.GetHeader("X-RateLimit-RetryAfter") + + if hdrXRateLimitRetryAfter != "" { + valxRateLimitRetryAfter, err := swag.ConvertInt64(hdrXRateLimitRetryAfter) + if err != nil { + return errors.InvalidType("X-RateLimit-RetryAfter", "header", "int64", hdrXRateLimitRetryAfter) + } + o.XRateLimitRetryAfter = valxRateLimitRetryAfter + } + + o.Payload = new(models.MsaReplyMetaOnly) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewCombinedQueryVulnerabilitiesInternalServerError creates a CombinedQueryVulnerabilitiesInternalServerError with default headers values +func NewCombinedQueryVulnerabilitiesInternalServerError() *CombinedQueryVulnerabilitiesInternalServerError { + return &CombinedQueryVulnerabilitiesInternalServerError{} +} + +/* CombinedQueryVulnerabilitiesInternalServerError describes a response with status code 500, with default header values. + +Internal Server Error +*/ +type CombinedQueryVulnerabilitiesInternalServerError struct { + + /* Trace-ID: submit to support if resolving an issue + */ + XCSTRACEID string + + /* Request limit per minute. + */ + XRateLimitLimit int64 + + /* The number of requests remaining for the sliding one minute window. + */ + XRateLimitRemaining int64 + + Payload *models.DomainSPAPICombinedVulnerabilitiesResponse +} + +func (o *CombinedQueryVulnerabilitiesInternalServerError) Error() string { + return fmt.Sprintf("[GET /spotlight/combined/vulnerabilities/v1][%d] combinedQueryVulnerabilitiesInternalServerError %+v", 500, o.Payload) +} +func (o *CombinedQueryVulnerabilitiesInternalServerError) GetPayload() *models.DomainSPAPICombinedVulnerabilitiesResponse { + return o.Payload +} + +func (o *CombinedQueryVulnerabilitiesInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // hydrates response header X-CS-TRACEID + hdrXCSTRACEID := response.GetHeader("X-CS-TRACEID") + + if hdrXCSTRACEID != "" { + o.XCSTRACEID = hdrXCSTRACEID + } + + // hydrates response header X-RateLimit-Limit + hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit") + + if hdrXRateLimitLimit != "" { + valxRateLimitLimit, err := swag.ConvertInt64(hdrXRateLimitLimit) + if err != nil { + return errors.InvalidType("X-RateLimit-Limit", "header", "int64", hdrXRateLimitLimit) + } + o.XRateLimitLimit = valxRateLimitLimit + } + + // hydrates response header X-RateLimit-Remaining + hdrXRateLimitRemaining := response.GetHeader("X-RateLimit-Remaining") + + if hdrXRateLimitRemaining != "" { + valxRateLimitRemaining, err := swag.ConvertInt64(hdrXRateLimitRemaining) + if err != nil { + return errors.InvalidType("X-RateLimit-Remaining", "header", "int64", hdrXRateLimitRemaining) + } + o.XRateLimitRemaining = valxRateLimitRemaining + } + + o.Payload = new(models.DomainSPAPICombinedVulnerabilitiesResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewCombinedQueryVulnerabilitiesDefault creates a CombinedQueryVulnerabilitiesDefault with default headers values +func NewCombinedQueryVulnerabilitiesDefault(code int) *CombinedQueryVulnerabilitiesDefault { + return &CombinedQueryVulnerabilitiesDefault{ + _statusCode: code, + } +} + +/* CombinedQueryVulnerabilitiesDefault describes a response with status code -1, with default header values. + +OK +*/ +type CombinedQueryVulnerabilitiesDefault struct { + _statusCode int + + Payload *models.DomainSPAPICombinedVulnerabilitiesResponse +} + +// Code gets the status code for the combined query vulnerabilities default response +func (o *CombinedQueryVulnerabilitiesDefault) Code() int { + return o._statusCode +} + +func (o *CombinedQueryVulnerabilitiesDefault) Error() string { + return fmt.Sprintf("[GET /spotlight/combined/vulnerabilities/v1][%d] combinedQueryVulnerabilities default %+v", o._statusCode, o.Payload) +} +func (o *CombinedQueryVulnerabilitiesDefault) GetPayload() *models.DomainSPAPICombinedVulnerabilitiesResponse { + return o.Payload +} + +func (o *CombinedQueryVulnerabilitiesDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.DomainSPAPICombinedVulnerabilitiesResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/falcon/client/spotlight_vulnerabilities/get_vulnerabilities_responses.go b/falcon/client/spotlight_vulnerabilities/get_vulnerabilities_responses.go index 4347fd50..9ce46b61 100644 --- a/falcon/client/spotlight_vulnerabilities/get_vulnerabilities_responses.go +++ b/falcon/client/spotlight_vulnerabilities/get_vulnerabilities_responses.go @@ -66,6 +66,10 @@ OK */ type GetVulnerabilitiesOK struct { + /* Trace-ID: submit to support if resolving an issue + */ + XCSTRACEID string + /* Request limit per minute. */ XRateLimitLimit int64 @@ -86,6 +90,13 @@ func (o *GetVulnerabilitiesOK) GetPayload() *models.DomainSPAPIVulnerabilitiesEn func (o *GetVulnerabilitiesOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + // hydrates response header X-CS-TRACEID + hdrXCSTRACEID := response.GetHeader("X-CS-TRACEID") + + if hdrXCSTRACEID != "" { + o.XCSTRACEID = hdrXCSTRACEID + } + // hydrates response header X-RateLimit-Limit hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit") @@ -129,6 +140,10 @@ Forbidden */ type GetVulnerabilitiesForbidden struct { + /* Trace-ID: submit to support if resolving an issue + */ + XCSTRACEID string + /* Request limit per minute. */ XRateLimitLimit int64 @@ -149,6 +164,13 @@ func (o *GetVulnerabilitiesForbidden) GetPayload() *models.MsaReplyMetaOnly { func (o *GetVulnerabilitiesForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + // hydrates response header X-CS-TRACEID + hdrXCSTRACEID := response.GetHeader("X-CS-TRACEID") + + if hdrXCSTRACEID != "" { + o.XCSTRACEID = hdrXCSTRACEID + } + // hydrates response header X-RateLimit-Limit hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit") @@ -192,6 +214,10 @@ Too Many Requests */ type GetVulnerabilitiesTooManyRequests struct { + /* Trace-ID: submit to support if resolving an issue + */ + XCSTRACEID string + /* Request limit per minute. */ XRateLimitLimit int64 @@ -216,6 +242,13 @@ func (o *GetVulnerabilitiesTooManyRequests) GetPayload() *models.MsaReplyMetaOnl func (o *GetVulnerabilitiesTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + // hydrates response header X-CS-TRACEID + hdrXCSTRACEID := response.GetHeader("X-CS-TRACEID") + + if hdrXCSTRACEID != "" { + o.XCSTRACEID = hdrXCSTRACEID + } + // hydrates response header X-RateLimit-Limit hdrXRateLimitLimit := response.GetHeader("X-RateLimit-Limit") diff --git a/falcon/client/spotlight_vulnerabilities/spotlight_vulnerabilities_client.go b/falcon/client/spotlight_vulnerabilities/spotlight_vulnerabilities_client.go index 9e3e9cfb..a30b33d3 100644 --- a/falcon/client/spotlight_vulnerabilities/spotlight_vulnerabilities_client.go +++ b/falcon/client/spotlight_vulnerabilities/spotlight_vulnerabilities_client.go @@ -28,6 +28,8 @@ type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods type ClientService interface { + CombinedQueryVulnerabilities(params *CombinedQueryVulnerabilitiesParams, opts ...ClientOption) (*CombinedQueryVulnerabilitiesOK, error) + GetRemediationsV2(params *GetRemediationsV2Params, opts ...ClientOption) (*GetRemediationsV2OK, error) GetVulnerabilities(params *GetVulnerabilitiesParams, opts ...ClientOption) (*GetVulnerabilitiesOK, error) @@ -37,6 +39,43 @@ type ClientService interface { SetTransport(transport runtime.ClientTransport) } +/* + CombinedQueryVulnerabilities searches for vulnerabilities in your environment by providing an f q l filter and paging details returns a set of vulnerability entities which match the filter criteria +*/ +func (a *Client) CombinedQueryVulnerabilities(params *CombinedQueryVulnerabilitiesParams, opts ...ClientOption) (*CombinedQueryVulnerabilitiesOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewCombinedQueryVulnerabilitiesParams() + } + op := &runtime.ClientOperation{ + ID: "combinedQueryVulnerabilities", + Method: "GET", + PathPattern: "/spotlight/combined/vulnerabilities/v1", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"https"}, + Params: params, + Reader: &CombinedQueryVulnerabilitiesReader{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.(*CombinedQueryVulnerabilitiesOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*CombinedQueryVulnerabilitiesDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + /* GetRemediationsV2 gets details on remediation by providing one or more i ds */ diff --git a/falcon/models/domain_api_host_group.go b/falcon/models/domain_api_host_group.go index 2d390844..9064d6e7 100644 --- a/falcon/models/domain_api_host_group.go +++ b/falcon/models/domain_api_host_group.go @@ -19,6 +19,9 @@ import ( // swagger:model domain.APIHostGroup type DomainAPIHostGroup struct { + // id + ID string `json:"id,omitempty"` + // name // Required: true Name *string `json:"name"` diff --git a/falcon/models/domain_api_remediation_i_ds.go b/falcon/models/domain_api_remediation_i_ds.go index c92ccc55..5975637c 100644 --- a/falcon/models/domain_api_remediation_i_ds.go +++ b/falcon/models/domain_api_remediation_i_ds.go @@ -8,10 +8,8 @@ package models import ( "context" - "github.com/go-openapi/errors" "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" - "github.com/go-openapi/validate" ) // DomainAPIRemediationIDs domain API remediation i ds @@ -20,30 +18,11 @@ import ( type DomainAPIRemediationIDs struct { // ids - // Required: true Ids []string `json:"ids"` } // Validate validates this domain API remediation i ds func (m *DomainAPIRemediationIDs) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateIds(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *DomainAPIRemediationIDs) validateIds(formats strfmt.Registry) error { - - if err := validate.Required("ids", "body", m.Ids); err != nil { - return err - } - return nil } diff --git a/falcon/models/domain_api_vulnerability_c_v_e_details_facet_v2.go b/falcon/models/domain_api_vulnerability_c_v_e_details_facet_v2.go new file mode 100644 index 00000000..93d4b2f5 --- /dev/null +++ b/falcon/models/domain_api_vulnerability_c_v_e_details_facet_v2.go @@ -0,0 +1,104 @@ +// 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" +) + +// DomainAPIVulnerabilityCVEDetailsFacetV2 domain API vulnerability c v e details facet v2 +// +// swagger:model domain.APIVulnerabilityCVEDetailsFacetV2 +type DomainAPIVulnerabilityCVEDetailsFacetV2 struct { + + // base score + BaseScore float64 `json:"base_score,omitempty"` + + // description + Description string `json:"description,omitempty"` + + // exploit status + ExploitStatus int64 `json:"exploit_status,omitempty"` + + // exploitability score + ExploitabilityScore float64 `json:"exploitability_score,omitempty"` + + // exprt rating + ExprtRating string `json:"exprt_rating,omitempty"` + + // id + // Required: true + ID *string `json:"id"` + + // impact score + ImpactScore float64 `json:"impact_score,omitempty"` + + // published date + PublishedDate string `json:"published_date,omitempty"` + + // references + References []string `json:"references"` + + // severity + Severity string `json:"severity,omitempty"` + + // vector + Vector string `json:"vector,omitempty"` + + // vendor advisory + VendorAdvisory []string `json:"vendor_advisory"` +} + +// Validate validates this domain API vulnerability c v e details facet v2 +func (m *DomainAPIVulnerabilityCVEDetailsFacetV2) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainAPIVulnerabilityCVEDetailsFacetV2) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this domain API vulnerability c v e details facet v2 based on context it is used +func (m *DomainAPIVulnerabilityCVEDetailsFacetV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DomainAPIVulnerabilityCVEDetailsFacetV2) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DomainAPIVulnerabilityCVEDetailsFacetV2) UnmarshalBinary(b []byte) error { + var res DomainAPIVulnerabilityCVEDetailsFacetV2 + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/falcon/models/domain_api_vulnerability_c_v_e_v2.go b/falcon/models/domain_api_vulnerability_c_v_e_v2.go deleted file mode 100644 index e1f81c0c..00000000 --- a/falcon/models/domain_api_vulnerability_c_v_e_v2.go +++ /dev/null @@ -1,105 +0,0 @@ -// 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" -) - -// DomainAPIVulnerabilityCVEV2 domain API vulnerability c v e v2 -// -// swagger:model domain.APIVulnerabilityCVEV2 -type DomainAPIVulnerabilityCVEV2 struct { - - // base score - // Required: true - BaseScore *float64 `json:"base_score"` - - // id - // Required: true - ID *string `json:"id"` - - // severity - // Required: true - Severity *string `json:"severity"` -} - -// Validate validates this domain API vulnerability c v e v2 -func (m *DomainAPIVulnerabilityCVEV2) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateBaseScore(formats); err != nil { - res = append(res, err) - } - - if err := m.validateID(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSeverity(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *DomainAPIVulnerabilityCVEV2) validateBaseScore(formats strfmt.Registry) error { - - if err := validate.Required("base_score", "body", m.BaseScore); err != nil { - return err - } - - return nil -} - -func (m *DomainAPIVulnerabilityCVEV2) validateID(formats strfmt.Registry) error { - - if err := validate.Required("id", "body", m.ID); err != nil { - return err - } - - return nil -} - -func (m *DomainAPIVulnerabilityCVEV2) validateSeverity(formats strfmt.Registry) error { - - if err := validate.Required("severity", "body", m.Severity); err != nil { - return err - } - - return nil -} - -// ContextValidate validates this domain API vulnerability c v e v2 based on context it is used -func (m *DomainAPIVulnerabilityCVEV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *DomainAPIVulnerabilityCVEV2) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *DomainAPIVulnerabilityCVEV2) UnmarshalBinary(b []byte) error { - var res DomainAPIVulnerabilityCVEV2 - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/falcon/models/domain_api_vulnerability_extended_app_v2.go b/falcon/models/domain_api_vulnerability_extended_app_v2.go new file mode 100644 index 00000000..46fb53bb --- /dev/null +++ b/falcon/models/domain_api_vulnerability_extended_app_v2.go @@ -0,0 +1,125 @@ +// 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" +) + +// DomainAPIVulnerabilityExtendedAppV2 domain API vulnerability extended app v2 +// +// swagger:model domain.APIVulnerabilityExtendedAppV2 +type DomainAPIVulnerabilityExtendedAppV2 struct { + + // product name version + // Required: true + ProductNameVersion *string `json:"product_name_version"` + + // remediation + Remediation *DomainAPIRemediationIDs `json:"remediation,omitempty"` + + // sub status + SubStatus string `json:"sub_status,omitempty"` +} + +// Validate validates this domain API vulnerability extended app v2 +func (m *DomainAPIVulnerabilityExtendedAppV2) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateProductNameVersion(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRemediation(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainAPIVulnerabilityExtendedAppV2) validateProductNameVersion(formats strfmt.Registry) error { + + if err := validate.Required("product_name_version", "body", m.ProductNameVersion); err != nil { + return err + } + + return nil +} + +func (m *DomainAPIVulnerabilityExtendedAppV2) validateRemediation(formats strfmt.Registry) error { + if swag.IsZero(m.Remediation) { // not required + return nil + } + + if m.Remediation != nil { + if err := m.Remediation.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("remediation") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("remediation") + } + return err + } + } + + return nil +} + +// ContextValidate validate this domain API vulnerability extended app v2 based on the context it is used +func (m *DomainAPIVulnerabilityExtendedAppV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateRemediation(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainAPIVulnerabilityExtendedAppV2) contextValidateRemediation(ctx context.Context, formats strfmt.Registry) error { + + if m.Remediation != nil { + if err := m.Remediation.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("remediation") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("remediation") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DomainAPIVulnerabilityExtendedAppV2) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DomainAPIVulnerabilityExtendedAppV2) UnmarshalBinary(b []byte) error { + var res DomainAPIVulnerabilityExtendedAppV2 + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/falcon/models/domain_api_vulnerability_host_info_v2.go b/falcon/models/domain_api_vulnerability_host_facet_v2.go similarity index 71% rename from falcon/models/domain_api_vulnerability_host_info_v2.go rename to falcon/models/domain_api_vulnerability_host_facet_v2.go index 5c554ccd..e024d0a9 100644 --- a/falcon/models/domain_api_vulnerability_host_info_v2.go +++ b/falcon/models/domain_api_vulnerability_host_facet_v2.go @@ -15,14 +15,17 @@ import ( "github.com/go-openapi/validate" ) -// DomainAPIVulnerabilityHostInfoV2 domain API vulnerability host info v2 +// DomainAPIVulnerabilityHostFacetV2 domain API vulnerability host facet v2 // -// swagger:model domain.APIVulnerabilityHostInfoV2 -type DomainAPIVulnerabilityHostInfoV2 struct { +// swagger:model domain.APIVulnerabilityHostFacetV2 +type DomainAPIVulnerabilityHostFacetV2 struct { // groups Groups []*DomainAPIHostGroup `json:"groups"` + // host last seen timestamp + HostLastSeenTimestamp string `json:"host_last_seen_timestamp,omitempty"` + // hostname // Required: true Hostname *string `json:"hostname"` @@ -58,8 +61,8 @@ type DomainAPIVulnerabilityHostInfoV2 struct { Tags []string `json:"tags"` } -// Validate validates this domain API vulnerability host info v2 -func (m *DomainAPIVulnerabilityHostInfoV2) Validate(formats strfmt.Registry) error { +// Validate validates this domain API vulnerability host facet v2 +func (m *DomainAPIVulnerabilityHostFacetV2) Validate(formats strfmt.Registry) error { var res []error if err := m.validateGroups(formats); err != nil { @@ -100,7 +103,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) Validate(formats strfmt.Registry) err return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) validateGroups(formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) validateGroups(formats strfmt.Registry) error { if swag.IsZero(m.Groups) { // not required return nil } @@ -126,7 +129,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) validateGroups(formats strfmt.Registr return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) validateHostname(formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) validateHostname(formats strfmt.Registry) error { if err := validate.Required("hostname", "body", m.Hostname); err != nil { return err @@ -135,7 +138,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) validateHostname(formats strfmt.Regis return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) validateLocalIP(formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) validateLocalIP(formats strfmt.Registry) error { if err := validate.Required("local_ip", "body", m.LocalIP); err != nil { return err @@ -144,7 +147,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) validateLocalIP(formats strfmt.Regist return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) validateMachineDomain(formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) validateMachineDomain(formats strfmt.Registry) error { if err := validate.Required("machine_domain", "body", m.MachineDomain); err != nil { return err @@ -153,7 +156,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) validateMachineDomain(formats strfmt. return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) validateOsVersion(formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) validateOsVersion(formats strfmt.Registry) error { if err := validate.Required("os_version", "body", m.OsVersion); err != nil { return err @@ -162,7 +165,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) validateOsVersion(formats strfmt.Regi return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) validateOu(formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) validateOu(formats strfmt.Registry) error { if err := validate.Required("ou", "body", m.Ou); err != nil { return err @@ -171,7 +174,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) validateOu(formats strfmt.Registry) e return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) validateSiteName(formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) validateSiteName(formats strfmt.Registry) error { if err := validate.Required("site_name", "body", m.SiteName); err != nil { return err @@ -180,7 +183,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) validateSiteName(formats strfmt.Regis return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) validateSystemManufacturer(formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) validateSystemManufacturer(formats strfmt.Registry) error { if err := validate.Required("system_manufacturer", "body", m.SystemManufacturer); err != nil { return err @@ -189,8 +192,8 @@ func (m *DomainAPIVulnerabilityHostInfoV2) validateSystemManufacturer(formats st return nil } -// ContextValidate validate this domain API vulnerability host info v2 based on the context it is used -func (m *DomainAPIVulnerabilityHostInfoV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { +// ContextValidate validate this domain API vulnerability host facet v2 based on the context it is used +func (m *DomainAPIVulnerabilityHostFacetV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { var res []error if err := m.contextValidateGroups(ctx, formats); err != nil { @@ -203,7 +206,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) ContextValidate(ctx context.Context, return nil } -func (m *DomainAPIVulnerabilityHostInfoV2) contextValidateGroups(ctx context.Context, formats strfmt.Registry) error { +func (m *DomainAPIVulnerabilityHostFacetV2) contextValidateGroups(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(m.Groups); i++ { @@ -224,7 +227,7 @@ func (m *DomainAPIVulnerabilityHostInfoV2) contextValidateGroups(ctx context.Con } // MarshalBinary interface implementation -func (m *DomainAPIVulnerabilityHostInfoV2) MarshalBinary() ([]byte, error) { +func (m *DomainAPIVulnerabilityHostFacetV2) MarshalBinary() ([]byte, error) { if m == nil { return nil, nil } @@ -232,8 +235,8 @@ func (m *DomainAPIVulnerabilityHostInfoV2) MarshalBinary() ([]byte, error) { } // UnmarshalBinary interface implementation -func (m *DomainAPIVulnerabilityHostInfoV2) UnmarshalBinary(b []byte) error { - var res DomainAPIVulnerabilityHostInfoV2 +func (m *DomainAPIVulnerabilityHostFacetV2) UnmarshalBinary(b []byte) error { + var res DomainAPIVulnerabilityHostFacetV2 if err := swag.ReadJSON(b, &res); err != nil { return err } diff --git a/falcon/models/domain_api_vulnerability_remediation_facet_v2.go b/falcon/models/domain_api_vulnerability_remediation_facet_v2.go new file mode 100644 index 00000000..c8264e3f --- /dev/null +++ b/falcon/models/domain_api_vulnerability_remediation_facet_v2.go @@ -0,0 +1,119 @@ +// 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" +) + +// DomainAPIVulnerabilityRemediationFacetV2 domain API vulnerability remediation facet v2 +// +// swagger:model domain.APIVulnerabilityRemediationFacetV2 +type DomainAPIVulnerabilityRemediationFacetV2 struct { + + // entities + Entities []*DomainAPIRemediationV2 `json:"entities"` + + // ids + Ids []string `json:"ids"` +} + +// Validate validates this domain API vulnerability remediation facet v2 +func (m *DomainAPIVulnerabilityRemediationFacetV2) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateEntities(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainAPIVulnerabilityRemediationFacetV2) validateEntities(formats strfmt.Registry) error { + if swag.IsZero(m.Entities) { // not required + return nil + } + + for i := 0; i < len(m.Entities); i++ { + if swag.IsZero(m.Entities[i]) { // not required + continue + } + + if m.Entities[i] != nil { + if err := m.Entities[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("entities" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("entities" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this domain API vulnerability remediation facet v2 based on the context it is used +func (m *DomainAPIVulnerabilityRemediationFacetV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateEntities(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainAPIVulnerabilityRemediationFacetV2) contextValidateEntities(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Entities); i++ { + + if m.Entities[i] != nil { + if err := m.Entities[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("entities" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("entities" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DomainAPIVulnerabilityRemediationFacetV2) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DomainAPIVulnerabilityRemediationFacetV2) UnmarshalBinary(b []byte) error { + var res DomainAPIVulnerabilityRemediationFacetV2 + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/falcon/models/domain_api_vulnerability_v2.go b/falcon/models/domain_api_vulnerability_v2.go index 2f125c7a..d7b2ce77 100644 --- a/falcon/models/domain_api_vulnerability_v2.go +++ b/falcon/models/domain_api_vulnerability_v2.go @@ -7,6 +7,7 @@ package models import ( "context" + "strconv" "github.com/go-openapi/errors" "github.com/go-openapi/strfmt" @@ -24,8 +25,10 @@ type DomainAPIVulnerabilityV2 struct { Aid *string `json:"aid"` // app - // Required: true - App *DomainAPIVulnerabilityAppV2 `json:"app"` + App *DomainAPIVulnerabilityAppV2 `json:"app,omitempty"` + + // apps + Apps []*DomainAPIVulnerabilityExtendedAppV2 `json:"apps"` // cid // Required: true @@ -39,20 +42,17 @@ type DomainAPIVulnerabilityV2 struct { CreatedTimestamp *string `json:"created_timestamp"` // cve - // Required: true - Cve *DomainAPIVulnerabilityCVEV2 `json:"cve"` + Cve *DomainAPIVulnerabilityCVEDetailsFacetV2 `json:"cve,omitempty"` // host info - // Required: true - HostInfo *DomainAPIVulnerabilityHostInfoV2 `json:"host_info"` + HostInfo *DomainAPIVulnerabilityHostFacetV2 `json:"host_info,omitempty"` // id // Required: true ID *string `json:"id"` // remediation - // Required: true - Remediation *DomainAPIRemediationIDs `json:"remediation"` + Remediation *DomainAPIVulnerabilityRemediationFacetV2 `json:"remediation,omitempty"` // status // Required: true @@ -75,6 +75,10 @@ func (m *DomainAPIVulnerabilityV2) Validate(formats strfmt.Registry) error { res = append(res, err) } + if err := m.validateApps(formats); err != nil { + res = append(res, err) + } + if err := m.validateCid(formats); err != nil { res = append(res, err) } @@ -123,9 +127,8 @@ func (m *DomainAPIVulnerabilityV2) validateAid(formats strfmt.Registry) error { } func (m *DomainAPIVulnerabilityV2) validateApp(formats strfmt.Registry) error { - - if err := validate.Required("app", "body", m.App); err != nil { - return err + if swag.IsZero(m.App) { // not required + return nil } if m.App != nil { @@ -142,6 +145,32 @@ func (m *DomainAPIVulnerabilityV2) validateApp(formats strfmt.Registry) error { return nil } +func (m *DomainAPIVulnerabilityV2) validateApps(formats strfmt.Registry) error { + if swag.IsZero(m.Apps) { // not required + return nil + } + + for i := 0; i < len(m.Apps); i++ { + if swag.IsZero(m.Apps[i]) { // not required + continue + } + + if m.Apps[i] != nil { + if err := m.Apps[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apps" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("apps" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + func (m *DomainAPIVulnerabilityV2) validateCid(formats strfmt.Registry) error { if err := validate.Required("cid", "body", m.Cid); err != nil { @@ -161,9 +190,8 @@ func (m *DomainAPIVulnerabilityV2) validateCreatedTimestamp(formats strfmt.Regis } func (m *DomainAPIVulnerabilityV2) validateCve(formats strfmt.Registry) error { - - if err := validate.Required("cve", "body", m.Cve); err != nil { - return err + if swag.IsZero(m.Cve) { // not required + return nil } if m.Cve != nil { @@ -181,9 +209,8 @@ func (m *DomainAPIVulnerabilityV2) validateCve(formats strfmt.Registry) error { } func (m *DomainAPIVulnerabilityV2) validateHostInfo(formats strfmt.Registry) error { - - if err := validate.Required("host_info", "body", m.HostInfo); err != nil { - return err + if swag.IsZero(m.HostInfo) { // not required + return nil } if m.HostInfo != nil { @@ -210,9 +237,8 @@ func (m *DomainAPIVulnerabilityV2) validateID(formats strfmt.Registry) error { } func (m *DomainAPIVulnerabilityV2) validateRemediation(formats strfmt.Registry) error { - - if err := validate.Required("remediation", "body", m.Remediation); err != nil { - return err + if swag.IsZero(m.Remediation) { // not required + return nil } if m.Remediation != nil { @@ -255,6 +281,10 @@ func (m *DomainAPIVulnerabilityV2) ContextValidate(ctx context.Context, formats res = append(res, err) } + if err := m.contextValidateApps(ctx, formats); err != nil { + res = append(res, err) + } + if err := m.contextValidateCve(ctx, formats); err != nil { res = append(res, err) } @@ -289,6 +319,26 @@ func (m *DomainAPIVulnerabilityV2) contextValidateApp(ctx context.Context, forma return nil } +func (m *DomainAPIVulnerabilityV2) contextValidateApps(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Apps); i++ { + + if m.Apps[i] != nil { + if err := m.Apps[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apps" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("apps" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + func (m *DomainAPIVulnerabilityV2) contextValidateCve(ctx context.Context, formats strfmt.Registry) error { if m.Cve != nil { diff --git a/falcon/models/domain_base_api_vulnerability_v2.go b/falcon/models/domain_base_api_vulnerability_v2.go new file mode 100644 index 00000000..ff3fbe21 --- /dev/null +++ b/falcon/models/domain_base_api_vulnerability_v2.go @@ -0,0 +1,406 @@ +// 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" +) + +// DomainBaseAPIVulnerabilityV2 domain base API vulnerability v2 +// +// swagger:model domain.BaseAPIVulnerabilityV2 +type DomainBaseAPIVulnerabilityV2 struct { + + // aid + // Required: true + Aid *string `json:"aid"` + + // app + App *DomainAPIVulnerabilityAppV2 `json:"app,omitempty"` + + // apps + Apps []*DomainAPIVulnerabilityExtendedAppV2 `json:"apps"` + + // cid + // Required: true + Cid *string `json:"cid"` + + // closed timestamp + ClosedTimestamp string `json:"closed_timestamp,omitempty"` + + // created timestamp + // Required: true + CreatedTimestamp *string `json:"created_timestamp"` + + // cve + Cve *DomainAPIVulnerabilityCVEDetailsFacetV2 `json:"cve,omitempty"` + + // host info + HostInfo *DomainAPIVulnerabilityHostFacetV2 `json:"host_info,omitempty"` + + // id + // Required: true + ID *string `json:"id"` + + // remediation + Remediation *DomainAPIVulnerabilityRemediationFacetV2 `json:"remediation,omitempty"` + + // status + // Required: true + Status *string `json:"status"` + + // updated timestamp + // Required: true + UpdatedTimestamp *string `json:"updated_timestamp"` +} + +// Validate validates this domain base API vulnerability v2 +func (m *DomainBaseAPIVulnerabilityV2) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAid(formats); err != nil { + res = append(res, err) + } + + if err := m.validateApp(formats); err != nil { + res = append(res, err) + } + + if err := m.validateApps(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCid(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreatedTimestamp(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCve(formats); err != nil { + res = append(res, err) + } + + if err := m.validateHostInfo(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRemediation(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUpdatedTimestamp(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateAid(formats strfmt.Registry) error { + + if err := validate.Required("aid", "body", m.Aid); err != nil { + return err + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateApp(formats strfmt.Registry) error { + if swag.IsZero(m.App) { // not required + return nil + } + + if m.App != nil { + if err := m.App.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("app") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("app") + } + return err + } + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateApps(formats strfmt.Registry) error { + if swag.IsZero(m.Apps) { // not required + return nil + } + + for i := 0; i < len(m.Apps); i++ { + if swag.IsZero(m.Apps[i]) { // not required + continue + } + + if m.Apps[i] != nil { + if err := m.Apps[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apps" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("apps" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateCid(formats strfmt.Registry) error { + + if err := validate.Required("cid", "body", m.Cid); err != nil { + return err + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateCreatedTimestamp(formats strfmt.Registry) error { + + if err := validate.Required("created_timestamp", "body", m.CreatedTimestamp); err != nil { + return err + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateCve(formats strfmt.Registry) error { + if swag.IsZero(m.Cve) { // not required + return nil + } + + if m.Cve != nil { + if err := m.Cve.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("cve") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("cve") + } + return err + } + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateHostInfo(formats strfmt.Registry) error { + if swag.IsZero(m.HostInfo) { // not required + return nil + } + + if m.HostInfo != nil { + if err := m.HostInfo.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("host_info") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("host_info") + } + return err + } + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateRemediation(formats strfmt.Registry) error { + if swag.IsZero(m.Remediation) { // not required + return nil + } + + if m.Remediation != nil { + if err := m.Remediation.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("remediation") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("remediation") + } + return err + } + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) validateUpdatedTimestamp(formats strfmt.Registry) error { + + if err := validate.Required("updated_timestamp", "body", m.UpdatedTimestamp); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this domain base API vulnerability v2 based on the context it is used +func (m *DomainBaseAPIVulnerabilityV2) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateApp(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateApps(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateCve(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateHostInfo(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateRemediation(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) contextValidateApp(ctx context.Context, formats strfmt.Registry) error { + + if m.App != nil { + if err := m.App.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("app") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("app") + } + return err + } + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) contextValidateApps(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Apps); i++ { + + if m.Apps[i] != nil { + if err := m.Apps[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("apps" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("apps" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) contextValidateCve(ctx context.Context, formats strfmt.Registry) error { + + if m.Cve != nil { + if err := m.Cve.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("cve") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("cve") + } + return err + } + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) contextValidateHostInfo(ctx context.Context, formats strfmt.Registry) error { + + if m.HostInfo != nil { + if err := m.HostInfo.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("host_info") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("host_info") + } + return err + } + } + + return nil +} + +func (m *DomainBaseAPIVulnerabilityV2) contextValidateRemediation(ctx context.Context, formats strfmt.Registry) error { + + if m.Remediation != nil { + if err := m.Remediation.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("remediation") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("remediation") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DomainBaseAPIVulnerabilityV2) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DomainBaseAPIVulnerabilityV2) UnmarshalBinary(b []byte) error { + var res DomainBaseAPIVulnerabilityV2 + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/falcon/models/domain_quota.go b/falcon/models/domain_quota.go new file mode 100644 index 00000000..be5ccc4e --- /dev/null +++ b/falcon/models/domain_quota.go @@ -0,0 +1,88 @@ +// 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" +) + +// DomainQuota domain quota +// +// swagger:model domain.Quota +type DomainQuota struct { + + // total + // Required: true + Total *int32 `json:"total"` + + // used + // Required: true + Used *int32 `json:"used"` +} + +// Validate validates this domain quota +func (m *DomainQuota) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateTotal(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUsed(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainQuota) validateTotal(formats strfmt.Registry) error { + + if err := validate.Required("total", "body", m.Total); err != nil { + return err + } + + return nil +} + +func (m *DomainQuota) validateUsed(formats strfmt.Registry) error { + + if err := validate.Required("used", "body", m.Used); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this domain quota based on context it is used +func (m *DomainQuota) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *DomainQuota) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DomainQuota) UnmarshalBinary(b []byte) error { + var res DomainQuota + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/falcon/models/domain_s_p_api_combined_vulnerabilities_response.go b/falcon/models/domain_s_p_api_combined_vulnerabilities_response.go new file mode 100644 index 00000000..b64885bb --- /dev/null +++ b/falcon/models/domain_s_p_api_combined_vulnerabilities_response.go @@ -0,0 +1,224 @@ +// 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" +) + +// DomainSPAPICombinedVulnerabilitiesResponse domain s p API combined vulnerabilities response +// +// swagger:model domain.SPAPICombinedVulnerabilitiesResponse +type DomainSPAPICombinedVulnerabilitiesResponse struct { + + // errors + Errors []*MsaAPIError `json:"errors"` + + // meta + // Required: true + Meta *DomainSPAPIQueryVulnerabilitiesMeta `json:"meta"` + + // resources + // Required: true + Resources []*DomainBaseAPIVulnerabilityV2 `json:"resources"` +} + +// Validate validates this domain s p API combined vulnerabilities response +func (m *DomainSPAPICombinedVulnerabilitiesResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateErrors(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMeta(formats); err != nil { + res = append(res, err) + } + + if err := m.validateResources(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainSPAPICombinedVulnerabilitiesResponse) validateErrors(formats strfmt.Registry) error { + if swag.IsZero(m.Errors) { // not required + return nil + } + + for i := 0; i < len(m.Errors); i++ { + if swag.IsZero(m.Errors[i]) { // not required + continue + } + + if m.Errors[i] != nil { + if err := m.Errors[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("errors" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("errors" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *DomainSPAPICombinedVulnerabilitiesResponse) validateMeta(formats strfmt.Registry) error { + + if err := validate.Required("meta", "body", m.Meta); err != nil { + return err + } + + if m.Meta != nil { + if err := m.Meta.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("meta") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("meta") + } + return err + } + } + + return nil +} + +func (m *DomainSPAPICombinedVulnerabilitiesResponse) validateResources(formats strfmt.Registry) error { + + if err := validate.Required("resources", "body", m.Resources); err != nil { + return err + } + + for i := 0; i < len(m.Resources); i++ { + if swag.IsZero(m.Resources[i]) { // not required + continue + } + + if m.Resources[i] != nil { + if err := m.Resources[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("resources" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("resources" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this domain s p API combined vulnerabilities response based on the context it is used +func (m *DomainSPAPICombinedVulnerabilitiesResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateErrors(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMeta(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateResources(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *DomainSPAPICombinedVulnerabilitiesResponse) contextValidateErrors(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Errors); i++ { + + if m.Errors[i] != nil { + if err := m.Errors[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("errors" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("errors" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *DomainSPAPICombinedVulnerabilitiesResponse) contextValidateMeta(ctx context.Context, formats strfmt.Registry) error { + + if m.Meta != nil { + if err := m.Meta.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("meta") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("meta") + } + return err + } + } + + return nil +} + +func (m *DomainSPAPICombinedVulnerabilitiesResponse) contextValidateResources(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Resources); i++ { + + if m.Resources[i] != nil { + if err := m.Resources[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("resources" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("resources" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *DomainSPAPICombinedVulnerabilitiesResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *DomainSPAPICombinedVulnerabilitiesResponse) UnmarshalBinary(b []byte) error { + var res DomainSPAPICombinedVulnerabilitiesResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/falcon/models/domain_s_p_api_query_vulnerabilities_meta.go b/falcon/models/domain_s_p_api_query_vulnerabilities_meta.go index bb55daa0..a0d99444 100644 --- a/falcon/models/domain_s_p_api_query_vulnerabilities_meta.go +++ b/falcon/models/domain_s_p_api_query_vulnerabilities_meta.go @@ -29,6 +29,9 @@ type DomainSPAPIQueryVulnerabilitiesMeta struct { // Required: true QueryTime *float64 `json:"query_time"` + // quota + Quota *DomainQuota `json:"quota,omitempty"` + // trace id // Required: true TraceID *string `json:"trace_id"` @@ -46,6 +49,10 @@ func (m *DomainSPAPIQueryVulnerabilitiesMeta) Validate(formats strfmt.Registry) res = append(res, err) } + if err := m.validateQuota(formats); err != nil { + res = append(res, err) + } + if err := m.validateTraceID(formats); err != nil { res = append(res, err) } @@ -84,6 +91,25 @@ func (m *DomainSPAPIQueryVulnerabilitiesMeta) validateQueryTime(formats strfmt.R return nil } +func (m *DomainSPAPIQueryVulnerabilitiesMeta) validateQuota(formats strfmt.Registry) error { + if swag.IsZero(m.Quota) { // not required + return nil + } + + if m.Quota != nil { + if err := m.Quota.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("quota") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("quota") + } + return err + } + } + + return nil +} + func (m *DomainSPAPIQueryVulnerabilitiesMeta) validateTraceID(formats strfmt.Registry) error { if err := validate.Required("trace_id", "body", m.TraceID); err != nil { @@ -101,6 +127,10 @@ func (m *DomainSPAPIQueryVulnerabilitiesMeta) ContextValidate(ctx context.Contex res = append(res, err) } + if err := m.contextValidateQuota(ctx, formats); err != nil { + res = append(res, err) + } + if len(res) > 0 { return errors.CompositeValidationError(res...) } @@ -123,6 +153,22 @@ func (m *DomainSPAPIQueryVulnerabilitiesMeta) contextValidatePagination(ctx cont return nil } +func (m *DomainSPAPIQueryVulnerabilitiesMeta) contextValidateQuota(ctx context.Context, formats strfmt.Registry) error { + + if m.Quota != nil { + if err := m.Quota.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("quota") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("quota") + } + return err + } + } + + return nil +} + // MarshalBinary interface implementation func (m *DomainSPAPIQueryVulnerabilitiesMeta) MarshalBinary() ([]byte, error) { if m == nil { diff --git a/falcon/models/domain_s_p_api_vulnerabilities_entities_response_v2.go b/falcon/models/domain_s_p_api_vulnerabilities_entities_response_v2.go index f32d9f83..df7d3a3f 100644 --- a/falcon/models/domain_s_p_api_vulnerabilities_entities_response_v2.go +++ b/falcon/models/domain_s_p_api_vulnerabilities_entities_response_v2.go @@ -25,7 +25,7 @@ type DomainSPAPIVulnerabilitiesEntitiesResponseV2 struct { // meta // Required: true - Meta *MsaMetaInfo `json:"meta"` + Meta *DomainMetaInfo `json:"meta"` // resources // Required: true