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:
+
+
- host_info
- remediation_details
- cve_details
+ */
+ Facet []string
+
+ /* Filter.
+
+ Filter items using a query in Falcon Query Language (FQL). Wildcards * are unsupported.
+
+ Common filter options include:
+
+ - created_timestamp:>'2019-11-25T22:36:12Z'
- closed_timestamp:>'2019-11-25T22:36:12Z'
- aid:'8e7656b27d8c49a34a1af416424d6231'
+ */
+ 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:
+
+ - created_timestamp|desc
- closed_timestamp|asc
+ */
+ 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