-
Notifications
You must be signed in to change notification settings - Fork 5
/
client.gen.go
8741 lines (7068 loc) · 275 KB
/
client.gen.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
// Package client provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/deepmap/oapi-codegen version v1.12.4 DO NOT EDIT.
package client
import (
"bytes"
"context"
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
"strings"
"time"
"github.com/deepmap/oapi-codegen/pkg/runtime"
openapi_types "github.com/deepmap/oapi-codegen/pkg/types"
)
// Defines values for ActionV1Status.
const (
Completed ActionV1Status = "completed"
Deleted ActionV1Status = "deleted"
NotDoing ActionV1Status = "not_doing"
Outstanding ActionV1Status = "outstanding"
)
// Defines values for CatalogTypeV2Color.
const (
CatalogTypeV2ColorBlue CatalogTypeV2Color = "blue"
CatalogTypeV2ColorGreen CatalogTypeV2Color = "green"
CatalogTypeV2ColorRed CatalogTypeV2Color = "red"
CatalogTypeV2ColorSlate CatalogTypeV2Color = "slate"
CatalogTypeV2ColorViolet CatalogTypeV2Color = "violet"
CatalogTypeV2ColorYellow CatalogTypeV2Color = "yellow"
)
// Defines values for CatalogTypeV2Icon.
const (
CatalogTypeV2IconBox CatalogTypeV2Icon = "box"
CatalogTypeV2IconBriefcase CatalogTypeV2Icon = "briefcase"
CatalogTypeV2IconBulb CatalogTypeV2Icon = "bulb"
CatalogTypeV2IconClock CatalogTypeV2Icon = "clock"
CatalogTypeV2IconCog CatalogTypeV2Icon = "cog"
CatalogTypeV2IconDoc CatalogTypeV2Icon = "doc"
CatalogTypeV2IconEmail CatalogTypeV2Icon = "email"
CatalogTypeV2IconUsers CatalogTypeV2Icon = "users"
)
// Defines values for CreateRequestBody2FieldType.
const (
CreateRequestBody2FieldTypeLink CreateRequestBody2FieldType = "link"
CreateRequestBody2FieldTypeMultiSelect CreateRequestBody2FieldType = "multi_select"
CreateRequestBody2FieldTypeNumeric CreateRequestBody2FieldType = "numeric"
CreateRequestBody2FieldTypeSingleSelect CreateRequestBody2FieldType = "single_select"
CreateRequestBody2FieldTypeText CreateRequestBody2FieldType = "text"
)
// Defines values for CreateRequestBody2Required.
const (
CreateRequestBody2RequiredAlways CreateRequestBody2Required = "always"
CreateRequestBody2RequiredBeforeClosure CreateRequestBody2Required = "before_closure"
CreateRequestBody2RequiredNever CreateRequestBody2Required = "never"
)
// Defines values for CreateRequestBody3ResourceResourceType.
const (
CreateRequestBody3ResourceResourceTypeAtlassianStatuspageIncident CreateRequestBody3ResourceResourceType = "atlassian_statuspage_incident"
CreateRequestBody3ResourceResourceTypeDatadogMonitorAlert CreateRequestBody3ResourceResourceType = "datadog_monitor_alert"
CreateRequestBody3ResourceResourceTypeGithubPullRequest CreateRequestBody3ResourceResourceType = "github_pull_request"
CreateRequestBody3ResourceResourceTypeOpsgenieAlert CreateRequestBody3ResourceResourceType = "opsgenie_alert"
CreateRequestBody3ResourceResourceTypePagerDutyIncident CreateRequestBody3ResourceResourceType = "pager_duty_incident"
CreateRequestBody3ResourceResourceTypeSentryIssue CreateRequestBody3ResourceResourceType = "sentry_issue"
CreateRequestBody3ResourceResourceTypeStatuspageIncident CreateRequestBody3ResourceResourceType = "statuspage_incident"
CreateRequestBody3ResourceResourceTypeZendeskTicket CreateRequestBody3ResourceResourceType = "zendesk_ticket"
)
// Defines values for CreateRequestBody5Category.
const (
CreateRequestBody5CategoryClosed CreateRequestBody5Category = "closed"
CreateRequestBody5CategoryLive CreateRequestBody5Category = "live"
)
// Defines values for CreateRequestBody6Mode.
const (
CreateRequestBody6ModeReal CreateRequestBody6Mode = "real"
CreateRequestBody6ModeTest CreateRequestBody6Mode = "test"
)
// Defines values for CreateRequestBody6Status.
const (
CreateRequestBody6StatusClosed CreateRequestBody6Status = "closed"
CreateRequestBody6StatusDeclined CreateRequestBody6Status = "declined"
CreateRequestBody6StatusFixing CreateRequestBody6Status = "fixing"
CreateRequestBody6StatusInvestigating CreateRequestBody6Status = "investigating"
CreateRequestBody6StatusMonitoring CreateRequestBody6Status = "monitoring"
CreateRequestBody6StatusTriage CreateRequestBody6Status = "triage"
)
// Defines values for CreateRequestBody6Visibility.
const (
CreateRequestBody6VisibilityPrivate CreateRequestBody6Visibility = "private"
CreateRequestBody6VisibilityPublic CreateRequestBody6Visibility = "public"
)
// Defines values for CreateRequestBody7Mode.
const (
CreateRequestBody7ModeRetrospective CreateRequestBody7Mode = "retrospective"
CreateRequestBody7ModeStandard CreateRequestBody7Mode = "standard"
CreateRequestBody7ModeTest CreateRequestBody7Mode = "test"
CreateRequestBody7ModeTutorial CreateRequestBody7Mode = "tutorial"
)
// Defines values for CreateRequestBody7Visibility.
const (
CreateRequestBody7VisibilityPrivate CreateRequestBody7Visibility = "private"
CreateRequestBody7VisibilityPublic CreateRequestBody7Visibility = "public"
)
// Defines values for CreateTypeRequestBodyColor.
const (
CreateTypeRequestBodyColorBlue CreateTypeRequestBodyColor = "blue"
CreateTypeRequestBodyColorGreen CreateTypeRequestBodyColor = "green"
CreateTypeRequestBodyColorRed CreateTypeRequestBodyColor = "red"
CreateTypeRequestBodyColorSlate CreateTypeRequestBodyColor = "slate"
CreateTypeRequestBodyColorViolet CreateTypeRequestBodyColor = "violet"
CreateTypeRequestBodyColorYellow CreateTypeRequestBodyColor = "yellow"
)
// Defines values for CreateTypeRequestBodyIcon.
const (
CreateTypeRequestBodyIconBox CreateTypeRequestBodyIcon = "box"
CreateTypeRequestBodyIconBriefcase CreateTypeRequestBodyIcon = "briefcase"
CreateTypeRequestBodyIconBulb CreateTypeRequestBodyIcon = "bulb"
CreateTypeRequestBodyIconClock CreateTypeRequestBodyIcon = "clock"
CreateTypeRequestBodyIconCog CreateTypeRequestBodyIcon = "cog"
CreateTypeRequestBodyIconDoc CreateTypeRequestBodyIcon = "doc"
CreateTypeRequestBodyIconEmail CreateTypeRequestBodyIcon = "email"
CreateTypeRequestBodyIconUsers CreateTypeRequestBodyIcon = "users"
)
// Defines values for CustomFieldTypeInfoV1FieldType.
const (
CustomFieldTypeInfoV1FieldTypeLink CustomFieldTypeInfoV1FieldType = "link"
CustomFieldTypeInfoV1FieldTypeMultiSelect CustomFieldTypeInfoV1FieldType = "multi_select"
CustomFieldTypeInfoV1FieldTypeNumeric CustomFieldTypeInfoV1FieldType = "numeric"
CustomFieldTypeInfoV1FieldTypeSingleSelect CustomFieldTypeInfoV1FieldType = "single_select"
CustomFieldTypeInfoV1FieldTypeText CustomFieldTypeInfoV1FieldType = "text"
)
// Defines values for CustomFieldV1FieldType.
const (
Link CustomFieldV1FieldType = "link"
MultiSelect CustomFieldV1FieldType = "multi_select"
Numeric CustomFieldV1FieldType = "numeric"
SingleSelect CustomFieldV1FieldType = "single_select"
Text CustomFieldV1FieldType = "text"
)
// Defines values for CustomFieldV1Required.
const (
CustomFieldV1RequiredAlways CustomFieldV1Required = "always"
CustomFieldV1RequiredBeforeClosure CustomFieldV1Required = "before_closure"
CustomFieldV1RequiredNever CustomFieldV1Required = "never"
)
// Defines values for ExternalIssueReferenceV1Provider.
const (
ExternalIssueReferenceV1ProviderAsana ExternalIssueReferenceV1Provider = "asana"
ExternalIssueReferenceV1ProviderGithub ExternalIssueReferenceV1Provider = "github"
ExternalIssueReferenceV1ProviderJira ExternalIssueReferenceV1Provider = "jira"
ExternalIssueReferenceV1ProviderJiraServer ExternalIssueReferenceV1Provider = "jira_server"
ExternalIssueReferenceV1ProviderLinear ExternalIssueReferenceV1Provider = "linear"
ExternalIssueReferenceV1ProviderShortcut ExternalIssueReferenceV1Provider = "shortcut"
)
// Defines values for ExternalIssueReferenceV2Provider.
const (
ExternalIssueReferenceV2ProviderAsana ExternalIssueReferenceV2Provider = "asana"
ExternalIssueReferenceV2ProviderGithub ExternalIssueReferenceV2Provider = "github"
ExternalIssueReferenceV2ProviderJira ExternalIssueReferenceV2Provider = "jira"
ExternalIssueReferenceV2ProviderJiraServer ExternalIssueReferenceV2Provider = "jira_server"
ExternalIssueReferenceV2ProviderLinear ExternalIssueReferenceV2Provider = "linear"
ExternalIssueReferenceV2ProviderShortcut ExternalIssueReferenceV2Provider = "shortcut"
)
// Defines values for ExternalResourceV1ResourceType.
const (
ExternalResourceV1ResourceTypeAtlassianStatuspageIncident ExternalResourceV1ResourceType = "atlassian_statuspage_incident"
ExternalResourceV1ResourceTypeDatadogMonitorAlert ExternalResourceV1ResourceType = "datadog_monitor_alert"
ExternalResourceV1ResourceTypeGithubPullRequest ExternalResourceV1ResourceType = "github_pull_request"
ExternalResourceV1ResourceTypeOpsgenieAlert ExternalResourceV1ResourceType = "opsgenie_alert"
ExternalResourceV1ResourceTypePagerDutyIncident ExternalResourceV1ResourceType = "pager_duty_incident"
ExternalResourceV1ResourceTypeSentryIssue ExternalResourceV1ResourceType = "sentry_issue"
ExternalResourceV1ResourceTypeStatuspageIncident ExternalResourceV1ResourceType = "statuspage_incident"
ExternalResourceV1ResourceTypeZendeskTicket ExternalResourceV1ResourceType = "zendesk_ticket"
)
// Defines values for IdentityV1Roles.
const (
IdentityV1RolesGlobalAccess IdentityV1Roles = "global_access"
IdentityV1RolesIncidentCreator IdentityV1Roles = "incident_creator"
IdentityV1RolesIncidentEditor IdentityV1Roles = "incident_editor"
IdentityV1RolesManageSettings IdentityV1Roles = "manage_settings"
IdentityV1RolesViewer IdentityV1Roles = "viewer"
)
// Defines values for IncidentRoleV1RoleType.
const (
Custom IncidentRoleV1RoleType = "custom"
Lead IncidentRoleV1RoleType = "lead"
Reporter IncidentRoleV1RoleType = "reporter"
)
// Defines values for IncidentStatusV1Category.
const (
IncidentStatusV1CategoryClosed IncidentStatusV1Category = "closed"
IncidentStatusV1CategoryDeclined IncidentStatusV1Category = "declined"
IncidentStatusV1CategoryLive IncidentStatusV1Category = "live"
IncidentStatusV1CategoryMerged IncidentStatusV1Category = "merged"
IncidentStatusV1CategoryTriage IncidentStatusV1Category = "triage"
)
// Defines values for IncidentTypeV1CreateInTriage.
const (
IncidentTypeV1CreateInTriageAlways IncidentTypeV1CreateInTriage = "always"
IncidentTypeV1CreateInTriageOptional IncidentTypeV1CreateInTriage = "optional"
)
// Defines values for IncidentV1Mode.
const (
IncidentV1ModeReal IncidentV1Mode = "real"
IncidentV1ModeTest IncidentV1Mode = "test"
IncidentV1ModeTutorial IncidentV1Mode = "tutorial"
)
// Defines values for IncidentV1Status.
const (
IncidentV1StatusClosed IncidentV1Status = "closed"
IncidentV1StatusDeclined IncidentV1Status = "declined"
IncidentV1StatusFixing IncidentV1Status = "fixing"
IncidentV1StatusInvestigating IncidentV1Status = "investigating"
IncidentV1StatusMonitoring IncidentV1Status = "monitoring"
IncidentV1StatusTriage IncidentV1Status = "triage"
)
// Defines values for IncidentV1Visibility.
const (
IncidentV1VisibilityPrivate IncidentV1Visibility = "private"
IncidentV1VisibilityPublic IncidentV1Visibility = "public"
)
// Defines values for IncidentV2Mode.
const (
IncidentV2ModeRetrospective IncidentV2Mode = "retrospective"
IncidentV2ModeStandard IncidentV2Mode = "standard"
IncidentV2ModeTest IncidentV2Mode = "test"
IncidentV2ModeTutorial IncidentV2Mode = "tutorial"
)
// Defines values for IncidentV2Visibility.
const (
IncidentV2VisibilityPrivate IncidentV2Visibility = "private"
IncidentV2VisibilityPublic IncidentV2Visibility = "public"
)
// Defines values for UpdateRequestBody2Required.
const (
UpdateRequestBody2RequiredAlways UpdateRequestBody2Required = "always"
UpdateRequestBody2RequiredBeforeClosure UpdateRequestBody2Required = "before_closure"
UpdateRequestBody2RequiredNever UpdateRequestBody2Required = "never"
)
// Defines values for UserV1Role.
const (
UserV1RoleAdministrator UserV1Role = "administrator"
UserV1RoleOwner UserV1Role = "owner"
UserV1RoleResponder UserV1Role = "responder"
UserV1RoleUnset UserV1Role = "unset"
UserV1RoleViewer UserV1Role = "viewer"
)
// Defines values for ActionsV1ListParamsIncidentMode.
const (
Real ActionsV1ListParamsIncidentMode = "real"
Test ActionsV1ListParamsIncidentMode = "test"
Tutorial ActionsV1ListParamsIncidentMode = "tutorial"
)
// Defines values for IncidentAttachmentsV1ListParamsResourceType.
const (
AtlassianStatuspageIncident IncidentAttachmentsV1ListParamsResourceType = "atlassian_statuspage_incident"
DatadogMonitorAlert IncidentAttachmentsV1ListParamsResourceType = "datadog_monitor_alert"
GithubPullRequest IncidentAttachmentsV1ListParamsResourceType = "github_pull_request"
OpsgenieAlert IncidentAttachmentsV1ListParamsResourceType = "opsgenie_alert"
PagerDutyIncident IncidentAttachmentsV1ListParamsResourceType = "pager_duty_incident"
SentryIssue IncidentAttachmentsV1ListParamsResourceType = "sentry_issue"
StatuspageIncident IncidentAttachmentsV1ListParamsResourceType = "statuspage_incident"
ZendeskTicket IncidentAttachmentsV1ListParamsResourceType = "zendesk_ticket"
)
// APIKeyV2 defines model for APIKeyV2.
type APIKeyV2 struct {
// Id Unique identifier for this API key
Id string `json:"id"`
// Name The name of the API key, for the user's reference
Name string `json:"name"`
}
// ActionV1 defines model for ActionV1.
type ActionV1 struct {
Assignee *UserV1 `json:"assignee,omitempty"`
// CompletedAt When the action was completed
CompletedAt *time.Time `json:"completed_at,omitempty"`
// CreatedAt When the action was created
CreatedAt time.Time `json:"created_at"`
// Description Description of the action
Description *string `json:"description,omitempty"`
ExternalIssueReference *ExternalIssueReferenceV1 `json:"external_issue_reference,omitempty"`
// FollowUp Whether an action is marked as follow-up
FollowUp bool `json:"follow_up"`
// Id Unique identifier for the action
Id string `json:"id"`
// IncidentId Unique identifier of the incident the action belongs to
IncidentId string `json:"incident_id"`
// Status Status of the action
Status ActionV1Status `json:"status"`
// UpdatedAt When the action was last updated
UpdatedAt time.Time `json:"updated_at"`
}
// ActionV1Status Status of the action
type ActionV1Status string
// ActorV2 defines model for ActorV2.
type ActorV2 struct {
ApiKey *APIKeyV2 `json:"api_key,omitempty"`
User *UserV1 `json:"user,omitempty"`
}
// CatalogAttributeBindingPayloadV2 defines model for CatalogAttributeBindingPayloadV2.
type CatalogAttributeBindingPayloadV2 struct {
// ArrayValue If set, this is the array value of the attribute
ArrayValue *[]CatalogAttributeValuePayloadV2 `json:"array_value,omitempty"`
Value *CatalogAttributeValuePayloadV2 `json:"value,omitempty"`
}
// CatalogAttributeBindingV2 defines model for CatalogAttributeBindingV2.
type CatalogAttributeBindingV2 struct {
// ArrayValue If array_value is set, this helps render the values
ArrayValue *[]CatalogAttributeValueV2 `json:"array_value,omitempty"`
Value *CatalogAttributeValueV2 `json:"value,omitempty"`
}
// CatalogAttributeValuePayloadV2 defines model for CatalogAttributeValuePayloadV2.
type CatalogAttributeValuePayloadV2 struct {
// Literal The literal value of this attribute
Literal *string `json:"literal,omitempty"`
}
// CatalogAttributeValueV2 defines model for CatalogAttributeValueV2.
type CatalogAttributeValueV2 struct {
CatalogEntry *CatalogEntryReferenceV2 `json:"catalog_entry,omitempty"`
// ImageUrl If appropriate, URL to an image that can be displayed alongside the option
ImageUrl *string `json:"image_url,omitempty"`
// IsImageSlackIcon If true, the image_url is a Slack icon and should be displayed as such
IsImageSlackIcon *bool `json:"is_image_slack_icon,omitempty"`
// Label Human readable label to be displayed for user to select
Label string `json:"label"`
// Literal If set, this is the literal value of the step parameter
Literal *string `json:"literal,omitempty"`
// SortKey Gives an indication of how to sort the options when displayed to the user
SortKey string `json:"sort_key"`
}
// CatalogEntryReferenceV2 defines model for CatalogEntryReferenceV2.
type CatalogEntryReferenceV2 struct {
// CatalogEntryId ID of this catalog entry
CatalogEntryId string `json:"catalog_entry_id"`
// CatalogEntryName The name of this entry
CatalogEntryName string `json:"catalog_entry_name"`
// CatalogTypeId ID of this catalog type
CatalogTypeId string `json:"catalog_type_id"`
}
// CatalogEntryV2 defines model for CatalogEntryV2.
type CatalogEntryV2 struct {
// Alias An optional alias that must uniquely identify this type
Alias *string `json:"alias,omitempty"`
// AttributeValues Values of this entry
AttributeValues map[string]CatalogAttributeBindingV2 `json:"attribute_values"`
// CatalogTypeId ID of this catalog type
CatalogTypeId string `json:"catalog_type_id"`
// CreatedAt When this entry was created
CreatedAt time.Time `json:"created_at"`
// ExternalId An optional alternative ID for this entry, which is ensured to be unique for the type
ExternalId *string `json:"external_id,omitempty"`
// Id ID of this resource
Id string `json:"id"`
// Name Name is the human readable name of this entry
Name string `json:"name"`
// Rank When catalog type is ranked, this is used to help order things
Rank int32 `json:"rank"`
// UpdatedAt When this entry was last updated
UpdatedAt time.Time `json:"updated_at"`
}
// CatalogTypeAttributePayloadV2 defines model for CatalogTypeAttributePayloadV2.
type CatalogTypeAttributePayloadV2 struct {
// Array Whether this attribute is an array
Array bool `json:"array"`
// Id The ID of this attribute
Id *string `json:"id,omitempty"`
// Name Unique name of this attribute
Name string `json:"name"`
// Type Catalog type name for this attribute
Type string `json:"type"`
}
// CatalogTypeAttributeV2 defines model for CatalogTypeAttributeV2.
type CatalogTypeAttributeV2 struct {
// Array Whether this attribute is an array
Array bool `json:"array"`
// Id The ID of this attribute
Id string `json:"id"`
// Name Unique name of this attribute
Name string `json:"name"`
// Type Catalog type name for this attribute
Type string `json:"type"`
}
// CatalogTypeSchemaV2 defines model for CatalogTypeSchemaV2.
type CatalogTypeSchemaV2 struct {
// Attributes Attributes of this catalog type
Attributes []CatalogTypeAttributeV2 `json:"attributes"`
// Version The version number of this schema
Version int64 `json:"version"`
}
// CatalogTypeV2 defines model for CatalogTypeV2.
type CatalogTypeV2 struct {
// Color Sets the display color of this type in the dashboard
Color CatalogTypeV2Color `json:"color"`
// CreatedAt When this type was created
CreatedAt time.Time `json:"created_at"`
// Description Human readble description of this type
Description string `json:"description"`
// EstimatedCount If populated, gives an estimated count of entries for this type
EstimatedCount *int64 `json:"estimated_count,omitempty"`
// Icon Sets the display icon of this type in the dashboard
Icon CatalogTypeV2Icon `json:"icon"`
// Id ID of this resource
Id string `json:"id"`
// Name Name is the human readable name of this type
Name string `json:"name"`
// Ranked If this type should be ranked
Ranked bool `json:"ranked"`
// RequiredIntegrations If populated, the integrations required for this type
RequiredIntegrations *[]string `json:"required_integrations,omitempty"`
Schema CatalogTypeSchemaV2 `json:"schema"`
// SemanticType Semantic type of this resource
SemanticType string `json:"semantic_type"`
// UpdatedAt When this type was last updated
UpdatedAt time.Time `json:"updated_at"`
}
// CatalogTypeV2Color Sets the display color of this type in the dashboard
type CatalogTypeV2Color string
// CatalogTypeV2Icon Sets the display icon of this type in the dashboard
type CatalogTypeV2Icon string
// CreateEntryRequestBody defines model for CreateEntryRequestBody.
type CreateEntryRequestBody struct {
// Alias An optional alias that must uniquely identify this type
Alias *string `json:"alias,omitempty"`
// AttributeValues Values of this entry
AttributeValues map[string]CatalogAttributeBindingPayloadV2 `json:"attribute_values"`
// CatalogTypeId ID of this catalog type
CatalogTypeId string `json:"catalog_type_id"`
// ExternalId An optional alternative ID for this entry, which is ensured to be unique for the type
ExternalId *string `json:"external_id,omitempty"`
// Name Name is the human readable name of this entry
Name string `json:"name"`
// Rank When catalog type is ranked, this is used to help order things
Rank *int32 `json:"rank,omitempty"`
}
// CreateEntryResponseBody defines model for CreateEntryResponseBody.
type CreateEntryResponseBody struct {
CatalogEntry CatalogEntryV2 `json:"catalog_entry"`
}
// CreateRequestBody defines model for CreateRequestBody.
type CreateRequestBody struct {
// CustomFieldId ID of the custom field this option belongs to
CustomFieldId string `json:"custom_field_id"`
// SortKey Sort key used to order the custom field options correctly
SortKey *int64 `json:"sort_key,omitempty"`
// Value Human readable name for the custom field option
Value string `json:"value"`
}
// CreateRequestBody2 defines model for CreateRequestBody2.
type CreateRequestBody2 struct {
// Description Description of the custom field
Description string `json:"description"`
// FieldType Type of custom field
FieldType CreateRequestBody2FieldType `json:"field_type"`
// Name Human readable name for the custom field
Name string `json:"name"`
// Required When this custom field must be set during the incident lifecycle.
Required CreateRequestBody2Required `json:"required"`
// ShowBeforeClosure Whether a custom field should be shown in the incident close modal. If this custom field is required before closure, but no value has been set for it, the field will be shown in the closure modal whatever the value of this setting.
ShowBeforeClosure bool `json:"show_before_closure"`
// ShowBeforeCreation Whether a custom field should be shown in the incident creation modal. This must be true if the field is always required.
ShowBeforeCreation bool `json:"show_before_creation"`
// ShowBeforeUpdate Whether a custom field should be shown in the incident update modal.
ShowBeforeUpdate bool `json:"show_before_update"`
// ShowInAnnouncementPost Whether a custom field should be shown in the list of fields as part of the announcement post when set.
ShowInAnnouncementPost *bool `json:"show_in_announcement_post,omitempty"`
}
// CreateRequestBody2FieldType Type of custom field
type CreateRequestBody2FieldType string
// CreateRequestBody2Required When this custom field must be set during the incident lifecycle.
type CreateRequestBody2Required string
// CreateRequestBody3 defines model for CreateRequestBody3.
type CreateRequestBody3 struct {
// IncidentId ID of the incident to add an attachment to
IncidentId string `json:"incident_id"`
Resource struct {
// ExternalId ID of the resource in the external system
ExternalId string `json:"external_id"`
// ResourceType E.g. PagerDuty: the external system that holds the resource
ResourceType CreateRequestBody3ResourceResourceType `json:"resource_type"`
} `json:"resource"`
}
// CreateRequestBody3ResourceResourceType E.g. PagerDuty: the external system that holds the resource
type CreateRequestBody3ResourceResourceType string
// CreateRequestBody4 defines model for CreateRequestBody4.
type CreateRequestBody4 struct {
// Description Describes the purpose of the role
Description string `json:"description"`
// Instructions Provided to whoever is nominated for the role
Instructions string `json:"instructions"`
// Name Human readable name of the incident role
Name string `json:"name"`
// Required Whether incident require this role to be set
Required bool `json:"required"`
// Shortform Short human readable name for Slack
Shortform string `json:"shortform"`
}
// CreateRequestBody5 defines model for CreateRequestBody5.
type CreateRequestBody5 struct {
// Category Whether the status should be considered 'live' or 'closed'. The triage and declined statuses cannot be created or modified.
Category CreateRequestBody5Category `json:"category"`
// Description Rich text description of the incident status
Description string `json:"description"`
// Name Unique name of this status
Name string `json:"name"`
}
// CreateRequestBody5Category Whether the status should be considered 'live' or 'closed'. The triage and declined statuses cannot be created or modified.
type CreateRequestBody5Category string
// CreateRequestBody6 defines model for CreateRequestBody6.
type CreateRequestBody6 struct {
// CustomFieldEntries Set the incident's custom fields to these values
CustomFieldEntries *[]CustomFieldEntryPayloadV1 `json:"custom_field_entries,omitempty"`
// IdempotencyKey Unique string used to de-duplicate incident create requests
IdempotencyKey string `json:"idempotency_key"`
// IncidentRoleAssignments Assign incident roles to these people
IncidentRoleAssignments *[]IncidentRoleAssignmentPayloadV1 `json:"incident_role_assignments,omitempty"`
// IncidentTypeId Incident type to create this incident as
IncidentTypeId *string `json:"incident_type_id,omitempty"`
// Mode Whether the incident is real or test
Mode *CreateRequestBody6Mode `json:"mode,omitempty"`
// Name Explanation of the incident
Name *string `json:"name,omitempty"`
// SeverityId Severity to create incident as
SeverityId *string `json:"severity_id,omitempty"`
// SlackTeamId ID of the Slack team / workspace
SlackTeamId *string `json:"slack_team_id,omitempty"`
// SourceMessageChannelId Channel ID of the source message, if this incident was created from one
SourceMessageChannelId *string `json:"source_message_channel_id,omitempty"`
// SourceMessageTimestamp Timestamp of the source message, if this incident was created from one
SourceMessageTimestamp *string `json:"source_message_timestamp,omitempty"`
// Status Current status of the incident
Status *CreateRequestBody6Status `json:"status,omitempty"`
// Summary Detailed description of the incident
Summary *string `json:"summary,omitempty"`
// Visibility Whether the incident should be open to anyone in your Slack workspace (public), or invite-only (private). For more information on Private Incidents see our [help centre](https://help.incident.io/en/articles/5947963-can-we-mark-incidents-as-sensitive-and-restrict-access).
Visibility CreateRequestBody6Visibility `json:"visibility"`
}
// CreateRequestBody6Mode Whether the incident is real or test
type CreateRequestBody6Mode string
// CreateRequestBody6Status Current status of the incident
type CreateRequestBody6Status string
// CreateRequestBody6Visibility Whether the incident should be open to anyone in your Slack workspace (public), or invite-only (private). For more information on Private Incidents see our [help centre](https://help.incident.io/en/articles/5947963-can-we-mark-incidents-as-sensitive-and-restrict-access).
type CreateRequestBody6Visibility string
// CreateRequestBody7 defines model for CreateRequestBody7.
type CreateRequestBody7 struct {
// CustomFieldEntries Set the incident's custom fields to these values
CustomFieldEntries *[]CustomFieldEntryPayloadV1 `json:"custom_field_entries,omitempty"`
// Id Unique identifier for the incident
Id *string `json:"id,omitempty"`
// IdempotencyKey Unique string used to de-duplicate incident create requests
IdempotencyKey string `json:"idempotency_key"`
// IncidentRoleAssignments Assign incident roles to these people
IncidentRoleAssignments *[]IncidentRoleAssignmentPayloadV2 `json:"incident_role_assignments,omitempty"`
// IncidentStatusId Incident status to assign to the incident
IncidentStatusId *string `json:"incident_status_id,omitempty"`
// IncidentTimestampValues Assign the incident's timestamps to these values
IncidentTimestampValues *[]IncidentTimestampValuePayloadV2 `json:"incident_timestamp_values,omitempty"`
// IncidentTypeId Incident type to create this incident as
IncidentTypeId *string `json:"incident_type_id,omitempty"`
// Mode Whether the incident is real, a test, a tutorial, or importing as a retrospective incident
Mode *CreateRequestBody7Mode `json:"mode,omitempty"`
// Name Explanation of the incident
Name *string `json:"name,omitempty"`
RetrospectiveIncidentOptions *RetrospectiveIncidentOptionsV2 `json:"retrospective_incident_options,omitempty"`
// SeverityId Severity to create incident as
SeverityId *string `json:"severity_id,omitempty"`
// SlackTeamId Slack Team to create the incident in
SlackTeamId *string `json:"slack_team_id,omitempty"`
// Summary Detailed description of the incident
Summary *string `json:"summary,omitempty"`
// Visibility Whether the incident should be open to anyone in your Slack workspace (public), or invite-only (private). For more information on Private Incidents see our [help centre](https://help.incident.io/en/articles/5947963-can-we-mark-incidents-as-sensitive-and-restrict-access).
Visibility CreateRequestBody7Visibility `json:"visibility"`
}
// CreateRequestBody7Mode Whether the incident is real, a test, a tutorial, or importing as a retrospective incident
type CreateRequestBody7Mode string
// CreateRequestBody7Visibility Whether the incident should be open to anyone in your Slack workspace (public), or invite-only (private). For more information on Private Incidents see our [help centre](https://help.incident.io/en/articles/5947963-can-we-mark-incidents-as-sensitive-and-restrict-access).
type CreateRequestBody7Visibility string
// CreateRequestBody8 defines model for CreateRequestBody8.
type CreateRequestBody8 struct {
// Description Description of the severity
Description string `json:"description"`
// Name Human readable name of the severity
Name string `json:"name"`
// Rank Rank to help sort severities (lower numbers are less severe)
Rank *int64 `json:"rank,omitempty"`
}
// CreateResponseBody defines model for CreateResponseBody.
type CreateResponseBody struct {
IncidentAttachment IncidentAttachmentV1 `json:"incident_attachment"`
}
// CreateTypeRequestBody defines model for CreateTypeRequestBody.
type CreateTypeRequestBody struct {
// Color Sets the display color of this type in the dashboard
Color *CreateTypeRequestBodyColor `json:"color,omitempty"`
// Description Human readble description of this type
Description string `json:"description"`
// Icon Sets the display icon of this type in the dashboard
Icon *CreateTypeRequestBodyIcon `json:"icon,omitempty"`
// Name Name is the human readable name of this type
Name string `json:"name"`
// Ranked If this type should be ranked
Ranked *bool `json:"ranked,omitempty"`
// SemanticType Semantic type of this resource
SemanticType *string `json:"semantic_type,omitempty"`
}
// CreateTypeRequestBodyColor Sets the display color of this type in the dashboard
type CreateTypeRequestBodyColor string
// CreateTypeRequestBodyIcon Sets the display icon of this type in the dashboard
type CreateTypeRequestBodyIcon string
// CreateTypeResponseBody defines model for CreateTypeResponseBody.
type CreateTypeResponseBody struct {
CatalogType CatalogTypeV2 `json:"catalog_type"`
}
// CustomFieldEntryPayloadV1 defines model for CustomFieldEntryPayloadV1.
type CustomFieldEntryPayloadV1 struct {
// CustomFieldId ID of the custom field this entry is linked against
CustomFieldId string `json:"custom_field_id"`
// Values List of values to associate with this entry
Values []CustomFieldValuePayloadV1 `json:"values"`
}
// CustomFieldEntryV1 defines model for CustomFieldEntryV1.
type CustomFieldEntryV1 struct {
CustomField CustomFieldTypeInfoV1 `json:"custom_field"`
// Values List of custom field values set on this entry
Values []CustomFieldValueV1 `json:"values"`
}
// CustomFieldOptionV1 defines model for CustomFieldOptionV1.
type CustomFieldOptionV1 struct {
// CustomFieldId ID of the custom field this option belongs to
CustomFieldId string `json:"custom_field_id"`
// Id Unique identifier for the custom field option
Id string `json:"id"`
// SortKey Sort key used to order the custom field options correctly
SortKey int64 `json:"sort_key"`
// Value Human readable name for the custom field option
Value string `json:"value"`
}
// CustomFieldTypeInfoV1 defines model for CustomFieldTypeInfoV1.
type CustomFieldTypeInfoV1 struct {
// Description Description of the custom field
Description string `json:"description"`
// FieldType Type of custom field
FieldType CustomFieldTypeInfoV1FieldType `json:"field_type"`
// Id Unique identifier for the custom field
Id string `json:"id"`
// Name Human readable name for the custom field
Name string `json:"name"`
// Options What options are available for this custom field, if this field has options
Options []CustomFieldOptionV1 `json:"options"`
}
// CustomFieldTypeInfoV1FieldType Type of custom field
type CustomFieldTypeInfoV1FieldType string
// CustomFieldV1 defines model for CustomFieldV1.
type CustomFieldV1 struct {
// CreatedAt When the action was created
CreatedAt time.Time `json:"created_at"`
// Description Description of the custom field
Description string `json:"description"`
// FieldType Type of custom field
FieldType CustomFieldV1FieldType `json:"field_type"`
// Id Unique identifier for the custom field
Id string `json:"id"`
// Name Human readable name for the custom field
Name string `json:"name"`
// Options What options are available for this custom field, if this field has options
Options []CustomFieldOptionV1 `json:"options"`
// Required When this custom field must be set during the incident lifecycle.
Required CustomFieldV1Required `json:"required"`
// ShowBeforeClosure Whether a custom field should be shown in the incident close modal. If this custom field is required before closure, but no value has been set for it, the field will be shown in the closure modal whatever the value of this setting.
ShowBeforeClosure bool `json:"show_before_closure"`
// ShowBeforeCreation Whether a custom field should be shown in the incident creation modal. This must be true if the field is always required.
ShowBeforeCreation bool `json:"show_before_creation"`
// ShowBeforeUpdate Whether a custom field should be shown in the incident update modal.
ShowBeforeUpdate bool `json:"show_before_update"`
// ShowInAnnouncementPost Whether a custom field should be shown in the list of fields as part of the announcement post when set.
ShowInAnnouncementPost *bool `json:"show_in_announcement_post,omitempty"`
// UpdatedAt When the action was last updated
UpdatedAt time.Time `json:"updated_at"`
}
// CustomFieldV1FieldType Type of custom field
type CustomFieldV1FieldType string
// CustomFieldV1Required When this custom field must be set during the incident lifecycle.
type CustomFieldV1Required string
// CustomFieldValuePayloadV1 defines model for CustomFieldValuePayloadV1.
type CustomFieldValuePayloadV1 struct {
// Id Unique identifier for the custom field value
Id *string `json:"id,omitempty"`
// ValueLink If the custom field type is 'link', this will contain the value assigned.
ValueLink *string `json:"value_link,omitempty"`
// ValueNumeric If the custom field type is 'numeric', this will contain the value assigned.
ValueNumeric *string `json:"value_numeric,omitempty"`
// ValueOptionId ID of the custom field option
ValueOptionId *string `json:"value_option_id,omitempty"`
// ValueText If the custom field type is 'text', this will contain the value assigned.
ValueText *string `json:"value_text,omitempty"`
// ValueTimestamp Deprecated: please use incident timestamp values instead
ValueTimestamp *string `json:"value_timestamp,omitempty"`
}
// CustomFieldValueV1 defines model for CustomFieldValueV1.
type CustomFieldValueV1 struct {
// ValueLink If the custom field type is 'link', this will contain the value assigned.
ValueLink *string `json:"value_link,omitempty"`
// ValueNumeric If the custom field type is 'numeric', this will contain the value assigned.
ValueNumeric *string `json:"value_numeric,omitempty"`
ValueOption *CustomFieldOptionV1 `json:"value_option,omitempty"`
// ValueText If the custom field type is 'text', this will contain the value assigned.
ValueText *string `json:"value_text,omitempty"`
}
// EditRequestBody defines model for EditRequestBody.
type EditRequestBody struct {
Incident IncidentEditPayloadV2 `json:"incident"`
// NotifyIncidentChannel Should we send Slack channel notifications to inform responders of this update? Note that this won't work if the Slack channel has already been archived.
NotifyIncidentChannel bool `json:"notify_incident_channel"`
}
// ExternalIssueReferenceV1 defines model for ExternalIssueReferenceV1.
type ExternalIssueReferenceV1 struct {
// IssueName Human readable ID for the issue
IssueName *string `json:"issue_name,omitempty"`
// IssuePermalink URL linking directly to the action in the issue tracker
IssuePermalink *string `json:"issue_permalink,omitempty"`
// Provider ID of the issue tracker provider
Provider *ExternalIssueReferenceV1Provider `json:"provider,omitempty"`
}
// ExternalIssueReferenceV1Provider ID of the issue tracker provider
type ExternalIssueReferenceV1Provider string
// ExternalIssueReferenceV2 defines model for ExternalIssueReferenceV2.
type ExternalIssueReferenceV2 struct {
// IssueName Human readable ID for the issue
IssueName string `json:"issue_name"`
// IssuePermalink URL linking directly to the action in the issue tracker
IssuePermalink string `json:"issue_permalink"`
// Provider ID of the issue tracker provider
Provider ExternalIssueReferenceV2Provider `json:"provider"`
}
// ExternalIssueReferenceV2Provider ID of the issue tracker provider
type ExternalIssueReferenceV2Provider string
// ExternalResourceV1 defines model for ExternalResourceV1.
type ExternalResourceV1 struct {
// ExternalId ID of the resource in the external system
ExternalId string `json:"external_id"`
// Permalink URL of the resource
Permalink string `json:"permalink"`
// ResourceType E.g. PagerDuty: the external system that holds the resource
ResourceType ExternalResourceV1ResourceType `json:"resource_type"`
// Title Title of resource
Title string `json:"title"`
}
// ExternalResourceV1ResourceType E.g. PagerDuty: the external system that holds the resource
type ExternalResourceV1ResourceType string
// IdentityResponseBody defines model for IdentityResponseBody.
type IdentityResponseBody struct {
Identity IdentityV1 `json:"identity"`
}
// IdentityV1 defines model for IdentityV1.
type IdentityV1 struct {
// Name The name assigned to the current API Key
Name string `json:"name"`
// Roles Which roles have been enabled for this key
Roles []IdentityV1Roles `json:"roles"`
}
// IdentityV1Roles defines model for IdentityV1.Roles.
type IdentityV1Roles string
// IncidentAttachmentV1 defines model for IncidentAttachmentV1.
type IncidentAttachmentV1 struct {
// Id Unique identifier of this incident membership
Id string `json:"id"`
// IncidentId Unique identifier of the incident
IncidentId string `json:"incident_id"`
Resource ExternalResourceV1 `json:"resource"`
}
// IncidentEditPayloadV2 defines model for IncidentEditPayloadV2.
type IncidentEditPayloadV2 struct {