-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinput.go
3160 lines (2714 loc) · 118 KB
/
input.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Copyright (c) Mondoo, Inc.
// SPDX-License-Identifier: MPL-2.0
//
// Code generated by gen.go; DO NOT EDIT.
package mondoogql
// Input represents one of the Input structs:
//
// APITokenOrder, AWSConfigurationOptionsInput, AWSEventPatternInput, AWSRoleCredential, AWSSecretKeyCredential, AcceptLegalPolicy, ActivePoliciesInput, ActivePolicyOrder, AddSSHKeyRequest, AdvisoryDocumentOptionsInput, AdvisoryFilter, AdvisoryOrder, AdvisorySummaryOrder, AgentOrder, AgentVersionFilter, AggregateScoreFilter, AggregateScoreOrder, AnalyseAssetVulnerabilitiesInput, AnalyseIncognitoAssetInput, ApplyExceptionForScopesInput, AssetDocumentOptionsInput, AssetEolFilter, AssetExploitableFilter, AssetFieldFiltersMutation, AssetGroupOrder, AssetLastPackageUpdateTimeInput, AssetLinkInfoInput, AssetListPoliciesFilter, AssetOSRebootFilter, AssetOrder, AssetOverviewPageInfo, AssetPackageDetailsInput, AssetPackagesStatsInput, AssetReportListPoliciesFilter, AssetReportPolicyOrder, AssetReportQueryOrder, AssetResourceInput, AssetSearchInput, AssetSearchSuggestionsInput, AssetSummaryOrder, AssetUpdateFilter, AssetUrlSegmentInput, AssetUrlStatsInput, AssetVulnerabilityReportInput, AuditLogOrder, AwsS3ConfigurationOptionsInput, AwsScanOptions, AzureBlobConfigurationOptionsInput, AzureConfigurationOptionsInput, AzureDevopsConfigurationOptionsInput, AzureDevopsTicketConfigInput, AzureDevopsTicketContextInput, AzureDevopsTicketContextProjectsInput, BigqueryConfigurationOptionsInput, BillingSessionInput, CaseContentInput, CaseRefInput, CaseTicketConfigInput, CasesConfigurationInput, CasesInput, CategoriesListInput, ChangeSubscriptionPlanInput, CheckScoreFilter, CheckScoreOrder, ChecksOrder, ChecksSearchInput, CiCdJobPageInfo, CiCdProjectPageInfo, CicdProjectJobsInput, CicdProjectOrder, CicdProjectsInput, ClientIntegrationConfigurationInput, ClientIntegrationInput, CloseCaseInput, ComplianceAssetOrder, ComplianceAssetsSearchInput, ComplianceControlInput, ComplianceFrameworkInput, ComplianceFrameworkMutationInput, ComplianceFrameworksInput, ContentSearchInput, ContentSearchResultItemOrder, ControlDocumentOptionsInput, ControlScoreFilter, ControlScoreOrder, ControlsOrder, ControlsSearchInput, CreateCaseInput, CreateClientIntegrationInput, CreateInvitationInput, CreateOrganizationInput, CreateServiceAccountInput, CreateSpaceInput, CreateWIFAuthBindingInput, CreateWorkspaceInput, CrowdstrikeFalconConfigurationOptionsInput, CveFilter, CveOrder, CveSummaryOrder, DataQueryFilter, DataQueryOrder, DeleteAPITokenInput, DeleteAgentsInput, DeleteAssetsInput, DeleteCasesInput, DeleteClientIntegrationInput, DeleteCustomPolicyInput, DeleteCustomQueryPackInput, DeleteFrameworkInput, DeleteProjectsInput, DeleteSSHKeyRequest, DeleteSSOProviderInput, DeleteServiceAccountsInput, DeleteWorkspacesInput, DownloadBundleInput, DownloadFrameworkInput, EbsScanOptionsInput, Ec2ScanOptionsInput, EmailConfigurationOptionsInput, EmailPreferenceInput, EmailRecipientInput, EmailTicketConfigInput, EnableSSOProviderInput, EolAssetsConfigurationInput, ExceptionGroupsInput, ExceptionMutationInput, ExceptionReviewInput, ExportReportFilterChecks, ExportReportFilterInventoryInput, ExportReportFilterPackages, ExportReportFilterVulnerabilitiesInput, ExportReportOptionsInput, FindingDocumentOptionsInput, FindingsFilter, FindingsOrder, FindingsPackagesFilter, FindingsWebhookPostRequest, ForkFrameworkInput, FrameworkDocumentOptionsInput, GarbageCollectAssetsConfigurationInput, GcpConfigurationOptionsInput, GcsBucketConfigurationOptionsInput, GenerateAPITokenInput, GenerateDocumentInput, GeneratePolicyInput, GetClientIntegrationDeleteCommandInput, GetClientIntegrationTokenInput, GithubConfigurationOptionsInput, GithubTicketConfigInput, GithubTicketingConfigurationOptionsInput, GitlabConfigurationOptionsInput, GitlabTicketConfigInput, GitlabTicketingConfigurationOptionsInput, GoogleWorkspaceConfigurationOptionsInput, GroupFilter, HostConfigurationOptionsInput, HostedAwsConfigurationOptionsInput, IDSuggestionInput, IntegrationInput, IntegrationOptionsInput, IntegrationsSummaryInput, InvitationOrder, JiraConfigurationOptionsInput, JiraTicketConfigInput, JiraTicketContextInput, JiraTicketContextProjectsInput, JiraTicketContextUsersInput, K8sConfigurationOptionsInput, KeyValueInput, ListClientIntegrationsFilterInput, ListClientIntegrationsInput, ListDiscoveryResultsInput, ListExceptionGroupsFilter, ListExceptionGroupsInput, ListExceptionGroupsOrder, ListFrameworksInput, ManagedClientsFilters, MembershipOrder, MicrosoftDefenderConfigurationOptionsInput, ModifyRiskFactorInput, MqueryAssetDataInput, MqueryAssetScoresInput, MqueryInput, MqueryScoreInput, Ms365ConfigurationOptionsInput, MvdV2ScanningConfigurationInput, OciConfigurationOptionsInput, OktaConfigurationOptionsInput, OrgViewPageInfo, OrganizationOverviewInput, PackageFilter, PackageInput, PackageScoresFilter, PackageScoresInput, PackageScoresOrder, PackagesOrder, PerformDiscoveryInput, PingIntegrationInput, PlatformInput, PlatformVulnerabilityConfigurationInput, PlatformsListInput, PolicyAddInput, PolicyAssignmentInput, PolicyDeleteInput, PolicyInput, PolicyReportMquerySummaryOrder, PolicyReportSummaryOrder, PostgresConfigurationOptionsInput, ProcessCaseEventsInput, PropertyQueryMutationInput, PropertyQueryMutationTarget, PropertyQueryOverride, QueryPackAddInput, RatedPoliciesInput, RegistrationTokenInput, RegistrationTokenOrder, RemediationFilter, RemediationInput, RemediationPackageFields, RemoveOrganizationMembershipInput, RemoveSpaceMembershipInput, RenderedAssetQueryDataInput, ReportViewedInfo, ReportViewedInput, RevokeRegistrationTokenInput, RiskFactorFilter, RiskFactorFilterQuery, RiskFactorMagnitudeModification, RoleInput, S3ConfigurationOptionsInput, SSOProviderInput, ScanConfigurationInput, ScimGroupMapping, ScopeDocumentOptionsInput, ScoreRange, SearchFilters, SecurityDashboardPageInfo, SentinelOneConfigurationOptionsInput, ServiceAccountOrder, SetAssetAnnotationsInput, SetCustomPolicyInput, SetCustomQueryPackInput, SetOrganizationMembershipInput, SetRoleInput, SetRolesInput, SetSSOProviderInput, SetScimGroupMappingInput, SetSpaceMembershipInput, ShodanConfigurationOptionsInput, SlackConfigurationOptionsInput, SnowflakeConfigurationOptionsInput, SpacePolicySummaryInput, SpaceSettingsInput, SubscriptionItem, SuppressIntegrationMessageInput, TerminatedAssetsConfigurationInput, TicketContextInput, TicketingIntegrationsInput, TimestampFilter, TriggerActionInput, TriggerActionOptionsInput, UnusedServiceAccountsConfigurationInput, UpdateAPITokenInput, UpdateAgentInput, UpdateClientIntegrationConfigurationInput, UpdateClientIntegrationNameInput, UpdateFindingsSLAInput, UpdateOrganizationInput, UpdateSLAsInput, UpdateSecurityModelInput, UpdateServiceAccountInput, UpdateSpaceInput, UpdateUserInput, UpdateWorkspaceInput, UploadFrameworkInput, VPCConfigurationInput, VulnerabilityDashboardPageInfo, VulnerabilityDocumentOptionsInput, VulnerabilityScoreOrder, WIFAuthBindingOrder, WorkspaceConditionPossibleValuesInput, WorkspaceSelectionConditionInput, WorkspaceSelectionInput, WorkspaceSelectionIntConditionInput, WorkspaceSelectionKeyValueConditionInput, WorkspaceSelectionRatingConditionInput, WorkspaceSelectionStringConditionInput, WorkspaceSelectionsInput, WorkspacesInput, ZendeskConfigurationOptionsInput, ZendeskCustomFieldInput, ZendeskTicketConfigInput, ZendeskTicketContextInput.
type Input interface{}
// APITokenOrder
type APITokenOrder struct {
// (Required.)
Direction OrderDirection `json:"direction"`
// (Required.)
Field APITokenOrderField `json:"field"`
}
// AWSConfigurationOptionsInput represents aWS integration input.
type AWSConfigurationOptionsInput struct {
// (Required.)
Region String `json:"region"`
// (Required.)
ScanConfiguration ScanConfigurationInput `json:"scanConfiguration"`
// (Optional.)
AccountIDs *[]String `json:"accountIds,omitempty"`
// (Optional.)
IsOrganization *Boolean `json:"isOrganization,omitempty"`
// (Optional.)
V2Template *Boolean `json:"v2Template,omitempty"`
}
// AWSEventPatternInput represents aWSEventPatternInput describes the options for event pattern based scan triggers.
type AWSEventPatternInput struct {
// (Required.)
ScanType String `json:"scanType"`
// (Required.)
EventSource String `json:"eventSource"`
// (Required.)
EventDetailType String `json:"eventDetailType"`
}
// AWSRoleCredential
type AWSRoleCredential struct {
// (Required.)
Role String `json:"role"`
// (Optional.)
ExternalID *String `json:"externalId,omitempty"`
}
// AWSSecretKeyCredential
type AWSSecretKeyCredential struct {
// (Required.)
AccessKeyID String `json:"accessKeyId"`
// (Required.)
SecretAccessKey String `json:"secretAccessKey"`
}
// AcceptLegalPolicy
type AcceptLegalPolicy struct {
// (Optional.)
ResourceMrn *String `json:"resourceMrn,omitempty"`
// (Optional.)
PolicyID *String `json:"policyId,omitempty"`
}
// ActivePoliciesInput represents active policies input.
type ActivePoliciesInput struct {
// Scope MRN the scope for which to grab the active policies. Currently, only spaces are supported. (Required.)
ScopeMrn String `json:"scopeMrn"`
// Filters the policies with the given query. Partial matches by name are supported. (Optional.)
Query *String `json:"query,omitempty"`
// The ordering of the returned policies. (Optional.)
OrderBy *ActivePolicyOrder `json:"orderBy,omitempty"`
}
// ActivePolicyOrder represents active policy order.
type ActivePolicyOrder struct {
// Field. (Required.)
Field ActivePolicyOrderField `json:"field"`
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
}
// AddSSHKeyRequest
type AddSSHKeyRequest struct {
// (Required.)
Mrn String `json:"mrn"`
// (Required.)
Content String `json:"content"`
}
// AdvisoryDocumentOptionsInput represents input options for the advisory of the document.
type AdvisoryDocumentOptionsInput struct {
// The ID of the advisory to generate the report for. (Required.)
AdvisoryID String `json:"advisoryId"`
// The MRN of the scope to generate the report for. (Required.)
ScopeMrn String `json:"scopeMrn"`
}
// AdvisoryFilter represents advisory filters.
type AdvisoryFilter struct {
// filter by textfield input. ex.: ["CHROME-2023"] elements will be ANDed. (Optional.)
QueryTerms *[]String `json:"queryTerms,omitempty"`
}
// AdvisoryOrder represents advisory order object.
type AdvisoryOrder struct {
// Order direction. (Required.)
Direction OrderDirection `json:"direction"`
// Order field. (Required.)
Field AdvisoryOrderField `json:"field"`
}
// AdvisorySummaryOrder represents possible advisory summary order object.
type AdvisorySummaryOrder struct {
// Order direction. (Required.)
Direction OrderDirection `json:"direction"`
// Order field. (Required.)
Field AdvisorySummaryOrderField `json:"field"`
}
// AgentOrder represents sorting for the agents.
type AgentOrder struct {
// (Required.)
Direction OrderDirection `json:"direction"`
// (Required.)
Field AgentOrderField `json:"field"`
}
// AgentVersionFilter represents input used to filter the agents by version.
type AgentVersionFilter struct {
// (Required.)
Version String `json:"version"`
// (Required.)
Not Boolean `json:"not"`
}
// AggregateScoreFilter represents aggregate score filters.
type AggregateScoreFilter struct {
// filter by textfield input. ex.: ["CHROME-2023"] elements will be ANDed. (Optional.)
QueryTerms *[]String `json:"queryTerms,omitempty"`
// filter by aggregated score by finding. (Optional.)
FindingMrn *String `json:"findingMrn,omitempty"`
// filter by aggregated score type. (Optional.)
ScoreType *AggregateScoreType `json:"scoreType,omitempty"`
// filter by aggregated score types. (Optional.)
ScoreTypes *[]AggregateScoreType `json:"scoreTypes,omitempty"`
// filter by risk factor mrn. (Optional.)
Risks *RiskFactorFilter `json:"risks,omitempty"`
// filter to find all scores that are lower or equal than the provided score. (Optional.)
MaxRiskScore *Int `json:"maxRiskScore,omitempty"`
// filter to find all scores that are higher or equal than the provided risk value. Takes precedence over maxRiskScore. (Optional.)
MinRiskValue *Int `json:"minRiskValue,omitempty"`
// filter aggregated scores by findingMrn of an unversioned software package e.g., finding versions of bash by searching for //.../software/.../name/bash This filter should be used in conjunction with the scoreType filter: VERSIONED_SOFTWARE. (Optional.)
SoftwareFindingMrn *String `json:"softwareFindingMrn,omitempty"`
// filter by aggregate score state. If not provided, all states are returned. (Optional.)
State *AggregateScoreState `json:"state,omitempty"`
// Retrieve check scores by policy MRN. (Optional.)
PolicyMrn *String `json:"policyMrn,omitempty"`
}
// AggregateScoreOrder represents aggregate score order object.
type AggregateScoreOrder struct {
// Order direction. (Required.)
Direction OrderDirection `json:"direction"`
// AggregateScore field. (Required.)
Field AggregateScoreOrderField `json:"field"`
}
// AnalyseAssetVulnerabilitiesInput represents input data for analyzing an asset.
type AnalyseAssetVulnerabilitiesInput struct {
// Asset MRN. (Required.)
Mrn ID `json:"mrn"`
}
// AnalyseIncognitoAssetInput represents data needed for analyzing an asset without mrn.
type AnalyseIncognitoAssetInput struct {
// Asset platform. (Required.)
Platform PlatformInput `json:"platform"`
// Asset packages. (Required.)
Packages []PackageInput `json:"packages"`
// optional kernel information for OS. (Optional.)
KernelVersion *String `json:"kernelVersion,omitempty"`
}
// ApplyExceptionForScopesInput represents the input to apply an exception to multiple scopes.
type ApplyExceptionForScopesInput struct {
// The scopes of the exceptions. Can be a space or an asset mrns. (Required.)
ScopeMrns []String `json:"scopeMrns"`
// How this exception should be handled Snooze the controls or disable them "enable" will delete the supplied control mrn from any exception. (Required.)
Action ExceptionMutationAction `json:"action"`
// RFC3339 timestamp The date, from which on the exception is no longer valid. Only applies to action IGNORE, empty is interpreted as forever. (Optional.)
ValidUntil *String `json:"validUntil,omitempty"`
// The justification for the exception. (Optional.)
Justification *String `json:"justification,omitempty"`
// List of control mrns that are expected. Applies only for compliance exceptions. (Optional.)
ControlMrns *[]String `json:"controlMrns,omitempty"`
// List of query mrns that are expected. Applies only for security exceptions. (Optional.)
QueryMrns *[]String `json:"queryMrns,omitempty"`
}
// AssetDocumentOptionsInput represents input options for the asset of the document.
type AssetDocumentOptionsInput struct {
// The MRN of the asset to generate the report for. (Required.)
AssetMrn String `json:"assetMrn"`
}
// AssetEolFilter represents asset end-of-life filter.
type AssetEolFilter struct {
// Is end-of-life. (Required.)
IsEol Boolean `json:"isEol"`
// Is not end-of-life. (Required.)
IsNotEol Boolean `json:"isNotEol"`
}
// AssetExploitableFilter represents asset exploitable filter.
type AssetExploitableFilter struct {
// Is exploitable. (Required.)
IsExploitable Boolean `json:"isExploitable"`
// Is not exploitable. (Required.)
IsNotExploitable Boolean `json:"isNotExploitable"`
}
// AssetFieldFiltersMutation
type AssetFieldFiltersMutation struct {
// labelBasedFilters is a list of key value pairs that is converted to a mql query. The provided filters will filter against `asset.labels`. All filters are ORed together. (Optional.)
LabelBasedFilters *[]KeyValueInput `json:"labelBasedFilters,omitempty"`
// annotationBasedFilters is a list of key value pairs that is converted to a mql query. The provided filters will filter against `asset.annotations`. All filters are ORed together. (Optional.)
AnnotationBasedFilters *[]KeyValueInput `json:"annotationBasedFilters,omitempty"`
}
// AssetGroupOrder represents asset group order.
type AssetGroupOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field String `json:"field"`
}
// AssetLastPackageUpdateTimeInput represents query data for a single assets package update time.
type AssetLastPackageUpdateTimeInput struct {
// Asset MRN. (Required.)
Mrn ID `json:"mrn"`
}
// AssetLinkInfoInput represents asset link info input.
type AssetLinkInfoInput struct {
// Asset ID. (Required.)
AssetID String `json:"assetId"`
// Space ID. (Required.)
SpaceID String `json:"spaceID"`
}
// AssetListPoliciesFilter represents filter for the asset policies.
type AssetListPoliciesFilter struct {
// Filters policies partially matching on policy name and MRN. (Optional.)
Query *String `json:"query,omitempty"`
// Filters policies by their grade. (Optional.)
Grades *[]String `json:"grades,omitempty"`
// Filters policies by their rating. (Optional.)
Ratings *[]String `json:"ratings,omitempty"`
// Filters policies by their category. (Optional.)
Categories *[]String `json:"categories,omitempty"`
}
// AssetOSRebootFilter represents asset OS reboot filter.
type AssetOSRebootFilter struct {
// Pending reboot. (Required.)
PendingReboot Boolean `json:"pendingReboot"`
// No reboot. (Required.)
NoReboot Boolean `json:"noReboot"`
}
// AssetOrder represents asset order.
type AssetOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field AssetOrderField `json:"field"`
}
// AssetOverviewPageInfo represents asset overview page info.
type AssetOverviewPageInfo struct {
// Organization MRN. (Required.)
OrgMrn String `json:"orgMrn"`
// Space MRN. (Required.)
SpaceMrn String `json:"spaceMrn"`
// Asset MRN. (Required.)
AssetMrn String `json:"assetMrn"`
// Which tab is selected: Overview, Policies, Controls, Platform Vulnerabilities, Resources. (Required.)
Tab String `json:"tab"`
}
// AssetPackageDetailsInput represents input for the Software package details.
type AssetPackageDetailsInput struct {
// Asset MRN. (Required.)
Mrn ID `json:"mrn"`
// Package name. (Required.)
Name String `json:"name"`
// Package version. (Optional.)
Version *String `json:"version,omitempty"`
}
// AssetPackagesStatsInput represents asset packages stats input.
type AssetPackagesStatsInput struct {
// Asset MRN. (Required.)
Mrn String `json:"mrn"`
// Filter by state. (Optional.)
State *ScoreStateFilter `json:"state,omitempty"`
}
// AssetReportListPoliciesFilter represents filter for the asset report's policies.
type AssetReportListPoliciesFilter struct {
// Filters policies partially matching on policy name and MRN. (Optional.)
Query *String `json:"query,omitempty"`
// Filters policies by their grade. (Optional.)
Grades *[]String `json:"grades,omitempty"`
// Filters policies by their category. (Optional.)
Categories *[]String `json:"categories,omitempty"`
}
// AssetReportPolicyOrder represents asset report policy order.
type AssetReportPolicyOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field AssetReportQueryOrderField `json:"field"`
}
// AssetReportQueryOrder represents asset report query order.
type AssetReportQueryOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field AssetReportQueryOrderField `json:"field"`
}
// AssetResourceInput
type AssetResourceInput struct {
// (Required.)
AssetMrn String `json:"assetMrn"`
// (Optional.)
SelectedPaths *[]String `json:"selectedPaths,omitempty"`
// (Optional.)
SelectedNames *[]String `json:"selectedNames,omitempty"`
}
// AssetSearchInput
type AssetSearchInput struct {
// Full text search query. Each term in the query will be ANDed together. The query language supports the following qualifiers: - `name`: Search for assets containing a specific name. This is the default qualifier if none is specified Example: `name:my-asset-name` - `asset`: Alias for `name` - `id`: Search for assets containing a specific asset ID. MRNs are also accepted Example: `id:my-asset-id` - `asset-id`: Alias for `id` - `label`: Search for assets containing a label a specific key and optional value. If no value is specified, the tag must exist with any value. If a value is specified, the tag must exist with that value. Example: `label:my-tag` or `label:my-tag=*` or `label:my-tag="my-value"` - `asset-label`: Alias for `label` - `annotation`: Search for assets containing a annotation a specific key and optional value. If no value is specified, the tag must exist with any value. If a value is specified, the tag must exist with that value. Example: `annotation:my-tag` or `annotation:my-tag=*` or `annotation:my-tag="my-value"` - `asset-annotation`: Alias for `annotation` - `platform`: Search for assets containing a specific platform Example: `platform:my-platform`. (Required.)
Query String `json:"query"`
// orgMrn is the mrn of the organization to search assets for. (Optional.)
OrgMrn *String `json:"orgMrn,omitempty"`
// spaceMrns is a list of space mrns to search assets for. If none are provided, all spaces in the organization will be searched. (Optional.)
SpaceMrns *[]String `json:"spaceMrns,omitempty"`
// Filter assets by their hierarchy. (Optional.)
AssetURLFilter *[]AssetUrlSegmentInput `json:"assetUrlFilter,omitempty"`
}
// AssetSearchSuggestionsInput
type AssetSearchSuggestionsInput struct {
// (Optional.)
SpaceMrn *String `json:"spaceMrn,omitempty"`
// (Optional.)
ScopeMrn *String `json:"scopeMrn,omitempty"`
// (Optional.)
SearchKey *String `json:"searchKey,omitempty"`
// (Optional.)
LabelFilter *[]*KeyValueInput `json:"labelFilter,omitempty"`
// (Optional.)
RelatedAssetMrn *String `json:"relatedAssetMrn,omitempty"`
// (Optional.)
IsCiCd *Boolean `json:"isCiCd,omitempty"`
}
// AssetSummaryOrder represents asset summary order.
type AssetSummaryOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field AssetSummaryOrderField `json:"field"`
}
// AssetUpdateFilter represents asset update filter.
type AssetUpdateFilter struct {
// Before. (Optional.)
Before *String `json:"before,omitempty"`
// After. (Optional.)
After *String `json:"after,omitempty"`
}
// AssetUrlSegmentInput
type AssetUrlSegmentInput struct {
// The key of the URL segment to filter by. (Required.)
Key String `json:"key"`
// The value of the URL segment to filter by. (Required.)
Value String `json:"value"`
}
// AssetUrlStatsInput
type AssetUrlStatsInput struct {
// Space MRN. (Optional.)
SpaceMrn *String `json:"spaceMrn,omitempty"`
// Scope MRN. (Optional.)
ScopeMrn *String `json:"scopeMrn,omitempty"`
// Scope to score by. Default is ALL, which is a combination of the security and vulnerabilities scores. (Optional.)
Scope *AssetUrlStatsScope `json:"scope,omitempty"`
// Exclude stats in the listed categories. (Optional.)
ExcludeCategories *[]AssetUrlStatsCategory `json:"excludeCategories,omitempty"`
}
// AssetVulnerabilityReportInput represents input data for an asset vulnerability report.
type AssetVulnerabilityReportInput struct {
// (Required.)
AssetMrn ID `json:"assetMrn"`
// (Optional.)
FormatType *FormatType `json:"formatType,omitempty"`
}
// AuditLogOrder
type AuditLogOrder struct {
// (Required.)
Direction OrderDirection `json:"direction"`
// (Required.)
Field AuditLogOrderField `json:"field"`
}
// AwsS3ConfigurationOptionsInput represents aWS S3 integration input.
type AwsS3ConfigurationOptionsInput struct {
// (Required.)
Output BucketOutputType `json:"output"`
// (Required.)
Bucket String `json:"bucket"`
// (Required.)
Region String `json:"region"`
// (Required.)
AccessKey String `json:"accessKey"`
// (Required.)
SecretAccessKey String `json:"secretAccessKey"`
}
// AwsScanOptions represents scan type provided when triggering a scan on an AWS integration.
type AwsScanOptions struct {
// (Required.)
ScanType String `json:"scanType"`
}
// AzureBlobConfigurationOptionsInput represents azure Blob integration input.
type AzureBlobConfigurationOptionsInput struct {
// (Required.)
Output BucketOutputType `json:"output"`
// (Required.)
BlobSasURL String `json:"blobSasURL"`
}
// AzureConfigurationOptionsInput represents azure integration input.
type AzureConfigurationOptionsInput struct {
// (Required.)
TenantID String `json:"tenantId"`
// (Required.)
ClientID String `json:"clientId"`
// (Optional.)
SubscriptionsWhitelist *[]String `json:"subscriptionsWhitelist,omitempty"`
// (Optional.)
SubscriptionsBlacklist *[]String `json:"subscriptionsBlacklist,omitempty"`
// (Optional.)
SubscriptionsAllowlist *[]String `json:"subscriptionsAllowlist,omitempty"`
// (Optional.)
SubscriptionsDenylist *[]String `json:"subscriptionsDenylist,omitempty"`
// TODO: temporary optional, fix by having separate update models. (Optional.)
Certificate *String `json:"certificate,omitempty"`
// (Optional.)
ScanVms *Boolean `json:"scanVms,omitempty"`
// (Optional.)
ClientSecret *String `json:"clientSecret,omitempty"`
}
// AzureDevopsConfigurationOptionsInput represents azure Devops integration input.
type AzureDevopsConfigurationOptionsInput struct {
// (Required.)
OrganizationURL String `json:"organizationUrl"`
// (Required.)
TenantID String `json:"tenantId"`
// (Required.)
ServicePrincipalID String `json:"servicePrincipalId"`
// (Required.)
ClientSecret String `json:"clientSecret"`
// (Required.)
AutoCloseTickets Boolean `json:"autoCloseTickets"`
// (Required.)
AutoCreateTickets Boolean `json:"autoCreateTickets"`
// (Optional.)
DefaultProjectName *String `json:"defaultProjectName,omitempty"`
}
// AzureDevopsTicketConfigInput represents azure Devops ticket configuration input.
type AzureDevopsTicketConfigInput struct {
// The Azure Devops project name. (Required.)
ProjectName String `json:"projectName"`
}
// AzureDevopsTicketContextInput represents parameters for AzureDevopsTicketContext.
type AzureDevopsTicketContextInput struct {
// The type of the ticket context. (Required.)
Type AzureDevopsTicketContextType `json:"type"`
// The parameters for the ticket context. (Optional.)
Projects *AzureDevopsTicketContextProjectsInput `json:"projects,omitempty"`
}
// AzureDevopsTicketContextProjectsInput represents azure Devops projects filter parameters for AzureDevopsTicketContext.
type AzureDevopsTicketContextProjectsInput struct {
// The Azure Devops query to filter the projects by. (Optional.)
Query *String `json:"query,omitempty"`
}
// BigqueryConfigurationOptionsInput represents bigQuery integration input.
type BigqueryConfigurationOptionsInput struct {
// (Required.)
DatasetID String `json:"datasetId"`
// note: this is the content of the service account JSON file. (Required.)
ServiceAccount String `json:"serviceAccount"`
}
// BillingSessionInput
type BillingSessionInput struct {
// (Required.)
OrgMrn ID `json:"orgMrn"`
// (Required.)
ReturnURL String `json:"returnURL"`
}
// CaseContentInput represents case content input.
type CaseContentInput struct {
// References. (Required.)
References []CaseRefInput `json:"references"`
// Ticket type to generate content for. (Required.)
Type TicketRefType `json:"type"`
}
// CaseRefInput represents case reference input.
type CaseRefInput struct {
// MRN. Must be a query, control, CVE or advisory MRN. (Required.)
FindingMrn String `json:"findingMrn"`
// Scope MRN. Must be a space or an asset MRN. (Required.)
ScopeMrn String `json:"scopeMrn"`
}
// CaseTicketConfigInput represents ticket configuration input.
type CaseTicketConfigInput struct {
// Jira ticket configuration. (Optional.)
Jira *JiraTicketConfigInput `json:"jira,omitempty"`
// Email ticket configuration. (Optional.)
Email *EmailTicketConfigInput `json:"email,omitempty"`
// Github ticket configuration. (Optional.)
GitHub *GithubTicketConfigInput `json:"github,omitempty"`
// Gitlab ticket configuration. (Optional.)
GitLab *GitlabTicketConfigInput `json:"gitlab,omitempty"`
// Azure Devops ticket configuration. (Optional.)
AzureDevOps *AzureDevopsTicketConfigInput `json:"azureDevops,omitempty"`
// Zendesk ticket configuration. (Optional.)
Zendesk *ZendeskTicketConfigInput `json:"zendesk,omitempty"`
}
// CasesConfigurationInput represents cases configuration input.
type CasesConfigurationInput struct {
// Whether to enable auto-create cases on drift. (Optional.)
AutoCreate *Boolean `json:"autoCreate,omitempty"`
// Aggregate findings for the same asset within this window. The value is specified in hours. 0 means no aggregation. (Optional.)
AggregationWindow *Int `json:"aggregationWindow,omitempty"`
}
// CasesInput represents cases input.
type CasesInput struct {
// The scope of the cases to list. (Required.)
ScopeMrn String `json:"scopeMrn"`
// A context MRN to filter workspaces by. Can be used when the scope is an asset MRN. If specified, will show only cases for the given asset in the provided context. For example, if scope is asset MRN and context MRN is workspace MRN, will show only workspaces that have the asset in the given workspace. (Optional.)
ContextMrn *String `json:"contextMrn,omitempty"`
// Finding MRNs. If set, will only return cases with the specified finding MRNs. (Optional.)
FindingMrns *[]String `json:"findingMrns,omitempty"`
// Case statuses. If set, will only return cases with the specified statuses. (Optional.)
Statuses *[]CaseStatus `json:"statuses,omitempty"`
}
// CategoriesListInput represents input for retrieving a list of categories for the scope.
type CategoriesListInput struct {
// scopeMrn is the space mrn the user is requesting categories for. The returned response will contain all public categories unioned with categories appearing in content for this space. (Required.)
ScopeMrn String `json:"scopeMrn"`
}
// ChangeSubscriptionPlanInput
type ChangeSubscriptionPlanInput struct {
// (Required.)
OrgMrn ID `json:"orgMrn"`
// (Required.)
ReturnURL String `json:"returnURL"`
// (Required.)
Confirm Boolean `json:"confirm"`
// (Optional.)
Items *[]SubscriptionItem `json:"items,omitempty"`
// (Optional.)
ProrationDate *Int `json:"prorationDate,omitempty"`
}
// CheckScoreFilter represents check score filters.
type CheckScoreFilter struct {
// Filter by state. (Optional.)
State *ScoreStateFilter `json:"state,omitempty"`
// Optional query terms. Will return only vulnerabilities containing the term in their MRN. (Optional.)
QueryTerms *[]String `json:"queryTerms,omitempty"`
// Filter the result by a check mrn. (Optional.)
CheckMrn *String `json:"checkMrn,omitempty"`
// Filter the result by a policy mrn. (Optional.)
PolicyMrn *String `json:"policyMrn,omitempty"`
// Whether to include checks for CI/CD assets in the results. (Optional.)
IncludeCicd *Boolean `json:"includeCicd,omitempty"`
// Filter by impact. (Optional.)
Impact *[]QueryImpact `json:"impact,omitempty"`
}
// CheckScoreOrder represents check score order.
type CheckScoreOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field CheckScoreOrderField `json:"field"`
}
// ChecksOrder represents checks order.
type ChecksOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field ChecksOrderField `json:"field"`
}
// ChecksSearchInput represents checks search input.
type ChecksSearchInput struct {
// Scope MRN. (Required.)
ScopeMrn String `json:"scopeMrn"`
// Framework MRN. (Required.)
FrameworkMrn String `json:"frameworkMrn"`
// Query to search checks by, currently searches by the check name only. (Optional.)
Query *String `json:"query,omitempty"`
// Determines the ordering. (Optional.)
OrderBy *ChecksOrder `json:"orderBy,omitempty"`
}
// CiCdJobPageInfo
type CiCdJobPageInfo struct {
// (Required.)
OrgMrn String `json:"orgMrn"`
// (Required.)
SpaceMrn String `json:"spaceMrn"`
// (Required.)
AssetMrn String `json:"assetMrn"`
// (Required.)
Tab String `json:"tab"`
}
// CiCdProjectPageInfo
type CiCdProjectPageInfo struct {
// (Required.)
OrgMrn String `json:"orgMrn"`
// (Required.)
SpaceMrn String `json:"spaceMrn"`
// (Required.)
ProjectMrn String `json:"projectMrn"`
}
// CicdProjectJobsInput
type CicdProjectJobsInput struct {
// (Required.)
SpaceMrn ID `json:"spaceMrn"`
// (Required.)
ProjectID ID `json:"projectId"`
}
// CicdProjectOrder
type CicdProjectOrder struct {
// (Required.)
Direction OrderDirection `json:"direction"`
// (Required.)
Field CicdProjectOrderField `json:"field"`
}
// CicdProjectsInput
type CicdProjectsInput struct {
// (Required.)
SpaceMrn ID `json:"spaceMrn"`
// (Optional.)
TypeFilter *String `json:"typeFilter,omitempty"`
}
// ClientIntegrationConfigurationInput represents configuration options for client integrations.
type ClientIntegrationConfigurationInput struct {
// (Optional.)
K8sConfigurationOptions *K8sConfigurationOptionsInput `json:"k8sConfigurationOptions,omitempty"`
// (Optional.)
AwsConfigurationOptions *AWSConfigurationOptionsInput `json:"awsConfigurationOptions,omitempty"`
// (Optional.)
AzureConfigurationOptions *AzureConfigurationOptionsInput `json:"azureConfigurationOptions,omitempty"`
// (Optional.)
AzureBlobConfigurationOptions *AzureBlobConfigurationOptionsInput `json:"azureBlobConfigurationOptions,omitempty"`
// (Optional.)
Ms365ConfigurationOptions *Ms365ConfigurationOptionsInput `json:"ms365ConfigurationOptions,omitempty"`
// (Optional.)
GcpConfigurationOptions *GcpConfigurationOptionsInput `json:"gcpConfigurationOptions,omitempty"`
// (Optional.)
HostConfigurationOptions *HostConfigurationOptionsInput `json:"hostConfigurationOptions,omitempty"`
// (Optional.)
GoogleWorkspaceConfigurationOptions *GoogleWorkspaceConfigurationOptionsInput `json:"googleWorkspaceConfigurationOptions,omitempty"`
// (Optional.)
OktaConfigurationOptions *OktaConfigurationOptionsInput `json:"oktaConfigurationOptions,omitempty"`
// (Optional.)
BigqueryConfigurationOptions *BigqueryConfigurationOptionsInput `json:"bigqueryConfigurationOptions,omitempty"`
// (Optional.)
SnowflakeConfigurationOptions *SnowflakeConfigurationOptionsInput `json:"snowflakeConfigurationOptions,omitempty"`
// (Optional.)
AwsS3ConfigurationOptions *AwsS3ConfigurationOptionsInput `json:"awsS3ConfigurationOptions,omitempty"`
// (Optional.)
S3ConfigurationOptions *S3ConfigurationOptionsInput `json:"s3ConfigurationOptions,omitempty"`
// (Optional.)
SlackConfigurationOptions *SlackConfigurationOptionsInput `json:"slackConfigurationOptions,omitempty"`
// (Optional.)
GitHubConfigurationOptions *GithubConfigurationOptionsInput `json:"githubConfigurationOptions,omitempty"`
// (Optional.)
GitLabConfigurationOptions *GitlabConfigurationOptionsInput `json:"gitlabConfigurationOptions,omitempty"`
// (Optional.)
GcsBucketConfigurationOptions *GcsBucketConfigurationOptionsInput `json:"gcsBucketConfigurationOptions,omitempty"`
// (Optional.)
PostgresConfigurationOptions *PostgresConfigurationOptionsInput `json:"postgresConfigurationOptions,omitempty"`
// (Optional.)
OciConfigurationOptions *OciConfigurationOptionsInput `json:"ociConfigurationOptions,omitempty"`
// (Optional.)
JiraConfigurationOptions *JiraConfigurationOptionsInput `json:"jiraConfigurationOptions,omitempty"`
// (Optional.)
AwsHostedConfigurationOptions *HostedAwsConfigurationOptionsInput `json:"awsHostedConfigurationOptions,omitempty"`
// (Optional.)
EmailConfigurationOptions *EmailConfigurationOptionsInput `json:"emailConfigurationOptions,omitempty"`
// (Optional.)
ZendeskConfigurationOptions *ZendeskConfigurationOptionsInput `json:"zendeskConfigurationOptions,omitempty"`
// (Optional.)
MicrosoftDefenderConfigurationOptions *MicrosoftDefenderConfigurationOptionsInput `json:"microsoftDefenderConfigurationOptions,omitempty"`
// (Optional.)
GitHubTicketingConfigurationOptions *GithubTicketingConfigurationOptionsInput `json:"githubTicketingConfigurationOptions,omitempty"`
// (Optional.)
GitLabTicketingConfigurationOptions *GitlabTicketingConfigurationOptionsInput `json:"gitlabTicketingConfigurationOptions,omitempty"`
// (Optional.)
ShodanConfigurationOptions *ShodanConfigurationOptionsInput `json:"shodanConfigurationOptions,omitempty"`
// (Optional.)
AzureDevOpsConfigurationOptions *AzureDevopsConfigurationOptionsInput `json:"azureDevopsConfigurationOptions,omitempty"`
// (Optional.)
SentinelOneConfigurationOptions *SentinelOneConfigurationOptionsInput `json:"sentinelOneConfigurationOptions,omitempty"`
// (Optional.)
CrowdstrikeFalconConfigurationOptions *CrowdstrikeFalconConfigurationOptionsInput `json:"crowdstrikeFalconConfigurationOptions,omitempty"`
}
// ClientIntegrationInput represents input for client integration.
type ClientIntegrationInput struct {
// (Required.)
Mrn String `json:"mrn"`
// (Optional.)
WithToken *Boolean `json:"withToken,omitempty"`
}
// CloseCaseInput represents close case input.
type CloseCaseInput struct {
// MRN of the case to close. (Required.)
Mrn String `json:"mrn"`
}
// ComplianceAssetOrder represents compliance asset order.
type ComplianceAssetOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field ComplianceAssetOrderField `json:"field"`
}
// ComplianceAssetsSearchInput represents compliance assets search input.
type ComplianceAssetsSearchInput struct {
// Search query. (Required.)
Query String `json:"query"`
// after is the pagination cursor. To paginate to the end of the search results, keep calling search the the endCursor from the pageInfo response while the hasNextPage field is true. (Optional.)
After *String `json:"after,omitempty"`
// first is the number of items to return. Defaults to 100. (Optional.)
First *Int `json:"first,omitempty"`
// The asset group filters that match the assets. (Optional.)
Groups *[]GroupFilter `json:"groups,omitempty"`
// Order by. (Optional.)
OrderBy *ComplianceAssetOrder `json:"orderBy,omitempty"`
}
// ComplianceControlInput represents compliance control input.
type ComplianceControlInput struct {
// Framework MRN. (Required.)
FrameworkMrn String `json:"frameworkMrn"`
// Control MRN. (Required.)
ControlMrn String `json:"controlMrn"`
// Scope MRN. (Required.)
ScopeMrn String `json:"scopeMrn"`
}
// ComplianceFrameworkInput represents compliance framework input.
type ComplianceFrameworkInput struct {
// The scope mrn for which to fetch the compliance framework. (Required.)
ScopeMrn String `json:"scopeMrn"`
// The compliance framework mrn. (Required.)
FrameworkMrn String `json:"frameworkMrn"`
}
// ComplianceFrameworkMutationInput represents compliance framework mutation input.
type ComplianceFrameworkMutationInput struct {
// Framework MRN. (Required.)
FrameworkMrn String `json:"frameworkMrn"`
// Scope MRN. (Required.)
ScopeMrn String `json:"scopeMrn"`
// Action. (Required.)
Action ComplianceFrameworkMutationAction `json:"action"`
}
// ComplianceFrameworksInput represents compliance frameworks input.
type ComplianceFrameworksInput struct {
// The scope mrn for which to fetch compliance frameworks. Currently only supported is a space mrn. (Required.)
ScopeMrn String `json:"scopeMrn"`
// The framework state to filter by. (Optional.)
State *ComplianceFrameworkState `json:"state,omitempty"`
// The framework states to filter by. (Optional.)
States *[]ComplianceFrameworkState `json:"states,omitempty"`
}
// ContentSearchInput represents input for searching for policies or registries.
type ContentSearchInput struct {
// scopeMrn is the space mrn the user is requesting content for. Private content will only be searched from this space. (Required.)
ScopeMrn String `json:"scopeMrn"`
// catalogType is the type of content items to consider. (Required.)
CatalogType CatalogType `json:"catalogType"`
// A list of platforms that a content item must match. Only content matching all platforms will be considered. (Optional.)
Platforms *[]String `json:"platforms,omitempty"`
// A list of categories that a content item can match. Content matching at least one of the provided will be considered. (Optional.)
Categories *[]String `json:"categories,omitempty"`
// includePrivate indicates whether to include private content. Defaults to true. (Optional.)
IncludePrivate *Boolean `json:"includePrivate,omitempty"`
// includePublic indicates whether to include mondoo provided content. Defaults to true. (Optional.)
IncludePublic *Boolean `json:"includePublic,omitempty"`
// contentMrns is a list of mrns to consider. If none are provided, all will be considered Useful for text searching a specific set of content, like active policies. (Optional.)
ContentMrns *[]String `json:"contentMrns,omitempty"`
// If assignedOnly is set to true, only policies that are assigned will be considered. (Optional.)
AssignedOnly *Boolean `json:"assignedOnly,omitempty"`
// Full text search query. Each term in the query will be ANDed together. (Optional.)
Query *String `json:"query,omitempty"`
// after is the pagination cursor. To paginate to the end of the search results, keep calling search the the endCursor from the pageInfo response while the hasNextPage field is true. (Optional.)
After *String `json:"after,omitempty"`
// limit is the number of items to return. Defaults to 100. (Optional.)
Limit *Int `json:"limit,omitempty"`
// (Optional.)
OrderBy *ContentSearchResultItemOrder `json:"orderBy,omitempty"`
}
// ContentSearchResultItemOrder represents user defined order direction and field.
type ContentSearchResultItemOrder struct {
// The direction to order the results. (Required.)
Direction OrderDirection `json:"direction"`
// The field to order the results. (Required.)
Field ContentSearchResultItemOrderField `json:"field"`
}
// ControlDocumentOptionsInput represents input options for the controls of the document.
type ControlDocumentOptionsInput struct {
// The MRN of the framework the control is for. (Required.)
FrameworkMRN String `json:"frameworkMRN"`
// The MRN of the control. (Required.)
ControlMRN String `json:"controlMRN"`
}
// ControlScoreFilter represents control score filters.
type ControlScoreFilter struct {
// Filter by state. (Optional.)
State *ScoreStateFilter `json:"state,omitempty"`
// Optional query terms. Will return only vulnerabilities containing the term in their MRN. (Optional.)
QueryTerms *[]String `json:"queryTerms,omitempty"`
// Filter the result by a control mrn. (Optional.)
ControlMrn *String `json:"controlMrn,omitempty"`
// Whether to include controls for CI/CD assets in the results. (Optional.)
IncludeCicd *Boolean `json:"includeCicd,omitempty"`
}
// ControlScoreOrder represents control score order.
type ControlScoreOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field ControlScoreOrderField `json:"field"`
}
// ControlsOrder represents controls order.
type ControlsOrder struct {
// Direction. (Required.)
Direction OrderDirection `json:"direction"`
// Field. (Required.)
Field ControlsOrderField `json:"field"`
}
// ControlsSearchInput represents controls search input.
type ControlsSearchInput struct {
// query, used to search on controls' or policies' description. (Optional.)
Query *String `json:"query,omitempty"`
// after is the pagination cursor. To paginate to the end of the search results, keep calling search the the endCursor from the pageInfo response while the hasNextPage field is true. (Optional.)
After *String `json:"after,omitempty"`
// limit is the number of items to return. Defaults to 100. (Optional.)
Limit *Int `json:"limit,omitempty"`
// Order by. (Optional.)
OrderBy *ControlsOrder `json:"orderBy,omitempty"`
}
// CreateCaseInput represents the input to create a case.
type CreateCaseInput struct {
// Title. (Required.)
Title String `json:"title"`
// Notes. (Required.)
Notes String `json:"notes"`
// References. (Required.)
References []CaseRefInput `json:"references"`
// Ticket configuration. (Required.)
TicketConfig CaseTicketConfigInput `json:"ticketConfig"`
// Ticketing integration MRN. (Optional.)
IntegrationMrn *String `json:"integrationMrn,omitempty"`
// Optional workspace MRN. If specified, the case will be created in the workspace. It is required that the case references are contained in the space that owns the provided workspace. (Optional.)
WorkspaceMrn *String `json:"workspaceMrn,omitempty"`
}
// CreateClientIntegrationInput represents input provided when creating a client integration.
type CreateClientIntegrationInput struct {
// (Required.)
SpaceMrn String `json:"spaceMrn"`
// (Required.)
Name String `json:"name"`
// (Required.)
Type ClientIntegrationType `json:"type"`
// (Required.)
LongLivedToken Boolean `json:"longLivedToken"`
// (Required.)
ConfigurationOptions ClientIntegrationConfigurationInput `json:"configurationOptions"`
}
// CreateInvitationInput
type CreateInvitationInput struct {
// (Required.)
ResourceMrn String `json:"resourceMrn"`
// (Required.)
RoleMrn String `json:"roleMrn"`
// (Optional.)
InviteeMrn *String `json:"inviteeMrn,omitempty"`
// (Optional.)
InviteeEmail *String `json:"inviteeEmail,omitempty"`
// (Optional.)
ExpiresAt *String `json:"expiresAt,omitempty"`
// (Optional.)