1 package job
2
3
4
5
6
7
8
9 import (
10 "context"
11 "encoding/json"
12 "github.com/Azure/go-autorest/autorest"
13 "github.com/Azure/go-autorest/autorest/date"
14 "github.com/Azure/go-autorest/autorest/to"
15 "github.com/Azure/go-autorest/tracing"
16 "github.com/gofrs/uuid"
17 "net/http"
18 )
19
20
21 const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/datalake/analytics/2016-03-20-preview/job"
22
23
24 type DataPath struct {
25 autorest.Response `json:"-"`
26
27 JobID *uuid.UUID `json:"jobId,omitempty"`
28
29 Command *string `json:"command,omitempty"`
30
31 Paths *[]string `json:"paths,omitempty"`
32 }
33
34
35 func (dp DataPath) MarshalJSON() ([]byte, error) {
36 objectMap := make(map[string]interface{})
37 return json.Marshal(objectMap)
38 }
39
40
41 type Diagnostics struct {
42
43 ColumnNumber *int32 `json:"columnNumber,omitempty"`
44
45 End *int32 `json:"end,omitempty"`
46
47 LineNumber *int32 `json:"lineNumber,omitempty"`
48
49 Message *string `json:"message,omitempty"`
50
51 Severity SeverityTypes `json:"severity,omitempty"`
52
53 Start *int32 `json:"start,omitempty"`
54 }
55
56
57 func (d Diagnostics) MarshalJSON() ([]byte, error) {
58 objectMap := make(map[string]interface{})
59 return json.Marshal(objectMap)
60 }
61
62
63 type ErrorDetails struct {
64
65 Description *string `json:"description,omitempty"`
66
67 Details *string `json:"details,omitempty"`
68
69 EndOffset *int32 `json:"endOffset,omitempty"`
70
71 ErrorID *string `json:"errorId,omitempty"`
72
73 FilePath *string `json:"filePath,omitempty"`
74
75 HelpLink *string `json:"helpLink,omitempty"`
76
77 InternalDiagnostics *string `json:"internalDiagnostics,omitempty"`
78
79 LineNumber *int32 `json:"lineNumber,omitempty"`
80
81 Message *string `json:"message,omitempty"`
82
83 Resolution *string `json:"resolution,omitempty"`
84
85 InnerError *InnerError `json:"innerError,omitempty"`
86
87 Severity SeverityTypes `json:"severity,omitempty"`
88
89 Source *string `json:"source,omitempty"`
90
91 StartOffset *int32 `json:"startOffset,omitempty"`
92 }
93
94
95 func (ed ErrorDetails) MarshalJSON() ([]byte, error) {
96 objectMap := make(map[string]interface{})
97 return json.Marshal(objectMap)
98 }
99
100
101 type HiveJobProperties struct {
102
103 LogsLocation *string `json:"logsLocation,omitempty"`
104
105 OutputLocation *string `json:"outputLocation,omitempty"`
106
107 StatementCount *int32 `json:"statementCount,omitempty"`
108
109 ExecutedStatementCount *int32 `json:"executedStatementCount,omitempty"`
110
111 RuntimeVersion *string `json:"runtimeVersion,omitempty"`
112
113 Script *string `json:"script,omitempty"`
114
115 Type Type `json:"type,omitempty"`
116 }
117
118
119 func (hjp HiveJobProperties) MarshalJSON() ([]byte, error) {
120 hjp.Type = TypeHive
121 objectMap := make(map[string]interface{})
122 if hjp.RuntimeVersion != nil {
123 objectMap["runtimeVersion"] = hjp.RuntimeVersion
124 }
125 if hjp.Script != nil {
126 objectMap["script"] = hjp.Script
127 }
128 if hjp.Type != "" {
129 objectMap["type"] = hjp.Type
130 }
131 return json.Marshal(objectMap)
132 }
133
134
135 func (hjp HiveJobProperties) AsUSQLJobProperties() (*USQLJobProperties, bool) {
136 return nil, false
137 }
138
139
140 func (hjp HiveJobProperties) AsHiveJobProperties() (*HiveJobProperties, bool) {
141 return &hjp, true
142 }
143
144
145 func (hjp HiveJobProperties) AsProperties() (*Properties, bool) {
146 return nil, false
147 }
148
149
150 func (hjp HiveJobProperties) AsBasicProperties() (BasicProperties, bool) {
151 return &hjp, true
152 }
153
154
155 type InfoListResult struct {
156 autorest.Response `json:"-"`
157
158 Value *[]Information `json:"value,omitempty"`
159
160 NextLink *string `json:"nextLink,omitempty"`
161
162 Count *int64 `json:"count,omitempty"`
163 }
164
165
166 func (ilr InfoListResult) MarshalJSON() ([]byte, error) {
167 objectMap := make(map[string]interface{})
168 return json.Marshal(objectMap)
169 }
170
171
172 type InfoListResultIterator struct {
173 i int
174 page InfoListResultPage
175 }
176
177
178
179 func (iter *InfoListResultIterator) NextWithContext(ctx context.Context) (err error) {
180 if tracing.IsEnabled() {
181 ctx = tracing.StartSpan(ctx, fqdn+"/InfoListResultIterator.NextWithContext")
182 defer func() {
183 sc := -1
184 if iter.Response().Response.Response != nil {
185 sc = iter.Response().Response.Response.StatusCode
186 }
187 tracing.EndSpan(ctx, sc, err)
188 }()
189 }
190 iter.i++
191 if iter.i < len(iter.page.Values()) {
192 return nil
193 }
194 err = iter.page.NextWithContext(ctx)
195 if err != nil {
196 iter.i--
197 return err
198 }
199 iter.i = 0
200 return nil
201 }
202
203
204
205
206 func (iter *InfoListResultIterator) Next() error {
207 return iter.NextWithContext(context.Background())
208 }
209
210
211 func (iter InfoListResultIterator) NotDone() bool {
212 return iter.page.NotDone() && iter.i < len(iter.page.Values())
213 }
214
215
216 func (iter InfoListResultIterator) Response() InfoListResult {
217 return iter.page.Response()
218 }
219
220
221
222 func (iter InfoListResultIterator) Value() Information {
223 if !iter.page.NotDone() {
224 return Information{}
225 }
226 return iter.page.Values()[iter.i]
227 }
228
229
230 func NewInfoListResultIterator(page InfoListResultPage) InfoListResultIterator {
231 return InfoListResultIterator{page: page}
232 }
233
234
235 func (ilr InfoListResult) IsEmpty() bool {
236 return ilr.Value == nil || len(*ilr.Value) == 0
237 }
238
239
240 func (ilr InfoListResult) hasNextLink() bool {
241 return ilr.NextLink != nil && len(*ilr.NextLink) != 0
242 }
243
244
245
246 func (ilr InfoListResult) infoListResultPreparer(ctx context.Context) (*http.Request, error) {
247 if !ilr.hasNextLink() {
248 return nil, nil
249 }
250 return autorest.Prepare((&http.Request{}).WithContext(ctx),
251 autorest.AsJSON(),
252 autorest.AsGet(),
253 autorest.WithBaseURL(to.String(ilr.NextLink)))
254 }
255
256
257 type InfoListResultPage struct {
258 fn func(context.Context, InfoListResult) (InfoListResult, error)
259 ilr InfoListResult
260 }
261
262
263
264 func (page *InfoListResultPage) NextWithContext(ctx context.Context) (err error) {
265 if tracing.IsEnabled() {
266 ctx = tracing.StartSpan(ctx, fqdn+"/InfoListResultPage.NextWithContext")
267 defer func() {
268 sc := -1
269 if page.Response().Response.Response != nil {
270 sc = page.Response().Response.Response.StatusCode
271 }
272 tracing.EndSpan(ctx, sc, err)
273 }()
274 }
275 for {
276 next, err := page.fn(ctx, page.ilr)
277 if err != nil {
278 return err
279 }
280 page.ilr = next
281 if !next.hasNextLink() || !next.IsEmpty() {
282 break
283 }
284 }
285 return nil
286 }
287
288
289
290
291 func (page *InfoListResultPage) Next() error {
292 return page.NextWithContext(context.Background())
293 }
294
295
296 func (page InfoListResultPage) NotDone() bool {
297 return !page.ilr.IsEmpty()
298 }
299
300
301 func (page InfoListResultPage) Response() InfoListResult {
302 return page.ilr
303 }
304
305
306 func (page InfoListResultPage) Values() []Information {
307 if page.ilr.IsEmpty() {
308 return nil
309 }
310 return *page.ilr.Value
311 }
312
313
314 func NewInfoListResultPage(cur InfoListResult, getNextPage func(context.Context, InfoListResult) (InfoListResult, error)) InfoListResultPage {
315 return InfoListResultPage{
316 fn: getNextPage,
317 ilr: cur,
318 }
319 }
320
321
322 type Information struct {
323 autorest.Response `json:"-"`
324
325 JobID *uuid.UUID `json:"jobId,omitempty"`
326
327 Name *string `json:"name,omitempty"`
328
329 Type TypeEnum `json:"type,omitempty"`
330
331 Submitter *string `json:"submitter,omitempty"`
332
333 ErrorMessage *[]ErrorDetails `json:"errorMessage,omitempty"`
334
335 DegreeOfParallelism *int32 `json:"degreeOfParallelism,omitempty"`
336
337 DegreeOfParallelismPercent *float64 `json:"degreeOfParallelismPercent,omitempty"`
338
339 Priority *int32 `json:"priority,omitempty"`
340
341 SubmitTime *date.Time `json:"submitTime,omitempty"`
342
343 StartTime *date.Time `json:"startTime,omitempty"`
344
345 EndTime *date.Time `json:"endTime,omitempty"`
346
347 State State `json:"state,omitempty"`
348
349 Result Result `json:"result,omitempty"`
350
351 LogFolder *string `json:"logFolder,omitempty"`
352
353 LogFilePatterns *[]string `json:"logFilePatterns,omitempty"`
354
355 StateAuditRecords *[]StateAuditRecord `json:"stateAuditRecords,omitempty"`
356
357 HierarchyQueueNode *string `json:"hierarchyQueueNode,omitempty"`
358
359 Properties BasicProperties `json:"properties,omitempty"`
360 }
361
362
363 func (i Information) MarshalJSON() ([]byte, error) {
364 objectMap := make(map[string]interface{})
365 if i.JobID != nil {
366 objectMap["jobId"] = i.JobID
367 }
368 if i.Name != nil {
369 objectMap["name"] = i.Name
370 }
371 if i.Type != "" {
372 objectMap["type"] = i.Type
373 }
374 if i.Submitter != nil {
375 objectMap["submitter"] = i.Submitter
376 }
377 if i.DegreeOfParallelism != nil {
378 objectMap["degreeOfParallelism"] = i.DegreeOfParallelism
379 }
380 if i.DegreeOfParallelismPercent != nil {
381 objectMap["degreeOfParallelismPercent"] = i.DegreeOfParallelismPercent
382 }
383 if i.Priority != nil {
384 objectMap["priority"] = i.Priority
385 }
386 if i.LogFilePatterns != nil {
387 objectMap["logFilePatterns"] = i.LogFilePatterns
388 }
389 objectMap["properties"] = i.Properties
390 return json.Marshal(objectMap)
391 }
392
393
394 func (i *Information) UnmarshalJSON(body []byte) error {
395 var m map[string]*json.RawMessage
396 err := json.Unmarshal(body, &m)
397 if err != nil {
398 return err
399 }
400 for k, v := range m {
401 switch k {
402 case "jobId":
403 if v != nil {
404 var jobID uuid.UUID
405 err = json.Unmarshal(*v, &jobID)
406 if err != nil {
407 return err
408 }
409 i.JobID = &jobID
410 }
411 case "name":
412 if v != nil {
413 var name string
414 err = json.Unmarshal(*v, &name)
415 if err != nil {
416 return err
417 }
418 i.Name = &name
419 }
420 case "type":
421 if v != nil {
422 var typeVar TypeEnum
423 err = json.Unmarshal(*v, &typeVar)
424 if err != nil {
425 return err
426 }
427 i.Type = typeVar
428 }
429 case "submitter":
430 if v != nil {
431 var submitter string
432 err = json.Unmarshal(*v, &submitter)
433 if err != nil {
434 return err
435 }
436 i.Submitter = &submitter
437 }
438 case "errorMessage":
439 if v != nil {
440 var errorMessage []ErrorDetails
441 err = json.Unmarshal(*v, &errorMessage)
442 if err != nil {
443 return err
444 }
445 i.ErrorMessage = &errorMessage
446 }
447 case "degreeOfParallelism":
448 if v != nil {
449 var degreeOfParallelism int32
450 err = json.Unmarshal(*v, °reeOfParallelism)
451 if err != nil {
452 return err
453 }
454 i.DegreeOfParallelism = °reeOfParallelism
455 }
456 case "degreeOfParallelismPercent":
457 if v != nil {
458 var degreeOfParallelismPercent float64
459 err = json.Unmarshal(*v, °reeOfParallelismPercent)
460 if err != nil {
461 return err
462 }
463 i.DegreeOfParallelismPercent = °reeOfParallelismPercent
464 }
465 case "priority":
466 if v != nil {
467 var priority int32
468 err = json.Unmarshal(*v, &priority)
469 if err != nil {
470 return err
471 }
472 i.Priority = &priority
473 }
474 case "submitTime":
475 if v != nil {
476 var submitTime date.Time
477 err = json.Unmarshal(*v, &submitTime)
478 if err != nil {
479 return err
480 }
481 i.SubmitTime = &submitTime
482 }
483 case "startTime":
484 if v != nil {
485 var startTime date.Time
486 err = json.Unmarshal(*v, &startTime)
487 if err != nil {
488 return err
489 }
490 i.StartTime = &startTime
491 }
492 case "endTime":
493 if v != nil {
494 var endTime date.Time
495 err = json.Unmarshal(*v, &endTime)
496 if err != nil {
497 return err
498 }
499 i.EndTime = &endTime
500 }
501 case "state":
502 if v != nil {
503 var state State
504 err = json.Unmarshal(*v, &state)
505 if err != nil {
506 return err
507 }
508 i.State = state
509 }
510 case "result":
511 if v != nil {
512 var resultVar Result
513 err = json.Unmarshal(*v, &resultVar)
514 if err != nil {
515 return err
516 }
517 i.Result = resultVar
518 }
519 case "logFolder":
520 if v != nil {
521 var logFolder string
522 err = json.Unmarshal(*v, &logFolder)
523 if err != nil {
524 return err
525 }
526 i.LogFolder = &logFolder
527 }
528 case "logFilePatterns":
529 if v != nil {
530 var logFilePatterns []string
531 err = json.Unmarshal(*v, &logFilePatterns)
532 if err != nil {
533 return err
534 }
535 i.LogFilePatterns = &logFilePatterns
536 }
537 case "stateAuditRecords":
538 if v != nil {
539 var stateAuditRecords []StateAuditRecord
540 err = json.Unmarshal(*v, &stateAuditRecords)
541 if err != nil {
542 return err
543 }
544 i.StateAuditRecords = &stateAuditRecords
545 }
546 case "hierarchyQueueNode":
547 if v != nil {
548 var hierarchyQueueNode string
549 err = json.Unmarshal(*v, &hierarchyQueueNode)
550 if err != nil {
551 return err
552 }
553 i.HierarchyQueueNode = &hierarchyQueueNode
554 }
555 case "properties":
556 if v != nil {
557 properties, err := unmarshalBasicProperties(*v)
558 if err != nil {
559 return err
560 }
561 i.Properties = properties
562 }
563 }
564 }
565
566 return nil
567 }
568
569
570 type InnerError struct {
571
572 DiagnosticCode *int32 `json:"diagnosticCode,omitempty"`
573
574 Severity SeverityTypes `json:"severity,omitempty"`
575
576 Details *string `json:"details,omitempty"`
577
578 Component *string `json:"component,omitempty"`
579
580 ErrorID *string `json:"errorId,omitempty"`
581
582 HelpLink *string `json:"helpLink,omitempty"`
583
584 InternalDiagnostics *string `json:"internalDiagnostics,omitempty"`
585
586 Message *string `json:"message,omitempty"`
587
588 Resolution *string `json:"resolution,omitempty"`
589
590 Source *string `json:"source,omitempty"`
591
592 Description *string `json:"description,omitempty"`
593 }
594
595
596 func (ie InnerError) MarshalJSON() ([]byte, error) {
597 objectMap := make(map[string]interface{})
598 return json.Marshal(objectMap)
599 }
600
601
602 type BasicProperties interface {
603 AsUSQLJobProperties() (*USQLJobProperties, bool)
604 AsHiveJobProperties() (*HiveJobProperties, bool)
605 AsProperties() (*Properties, bool)
606 }
607
608
609 type Properties struct {
610
611 RuntimeVersion *string `json:"runtimeVersion,omitempty"`
612
613 Script *string `json:"script,omitempty"`
614
615 Type Type `json:"type,omitempty"`
616 }
617
618 func unmarshalBasicProperties(body []byte) (BasicProperties, error) {
619 var m map[string]interface{}
620 err := json.Unmarshal(body, &m)
621 if err != nil {
622 return nil, err
623 }
624
625 switch m["type"] {
626 case string(TypeUSQL):
627 var usjp USQLJobProperties
628 err := json.Unmarshal(body, &usjp)
629 return usjp, err
630 case string(TypeHive):
631 var hjp HiveJobProperties
632 err := json.Unmarshal(body, &hjp)
633 return hjp, err
634 default:
635 var p Properties
636 err := json.Unmarshal(body, &p)
637 return p, err
638 }
639 }
640 func unmarshalBasicPropertiesArray(body []byte) ([]BasicProperties, error) {
641 var rawMessages []*json.RawMessage
642 err := json.Unmarshal(body, &rawMessages)
643 if err != nil {
644 return nil, err
645 }
646
647 pArray := make([]BasicProperties, len(rawMessages))
648
649 for index, rawMessage := range rawMessages {
650 p, err := unmarshalBasicProperties(*rawMessage)
651 if err != nil {
652 return nil, err
653 }
654 pArray[index] = p
655 }
656 return pArray, nil
657 }
658
659
660 func (p Properties) MarshalJSON() ([]byte, error) {
661 p.Type = TypeJobProperties
662 objectMap := make(map[string]interface{})
663 if p.RuntimeVersion != nil {
664 objectMap["runtimeVersion"] = p.RuntimeVersion
665 }
666 if p.Script != nil {
667 objectMap["script"] = p.Script
668 }
669 if p.Type != "" {
670 objectMap["type"] = p.Type
671 }
672 return json.Marshal(objectMap)
673 }
674
675
676 func (p Properties) AsUSQLJobProperties() (*USQLJobProperties, bool) {
677 return nil, false
678 }
679
680
681 func (p Properties) AsHiveJobProperties() (*HiveJobProperties, bool) {
682 return nil, false
683 }
684
685
686 func (p Properties) AsProperties() (*Properties, bool) {
687 return &p, true
688 }
689
690
691 func (p Properties) AsBasicProperties() (BasicProperties, bool) {
692 return &p, true
693 }
694
695
696 type Resource struct {
697
698 Name *string `json:"name,omitempty"`
699
700 ResourcePath *string `json:"resourcePath,omitempty"`
701
702 Type ResourceType `json:"type,omitempty"`
703 }
704
705
706 type StateAuditRecord struct {
707
708 NewState *string `json:"newState,omitempty"`
709
710 TimeStamp *date.Time `json:"timeStamp,omitempty"`
711
712 RequestedByUser *string `json:"requestedByUser,omitempty"`
713
714 Details *string `json:"details,omitempty"`
715 }
716
717
718 func (sar StateAuditRecord) MarshalJSON() ([]byte, error) {
719 objectMap := make(map[string]interface{})
720 return json.Marshal(objectMap)
721 }
722
723
724 type Statistics struct {
725 autorest.Response `json:"-"`
726
727 LastUpdateTimeUtc *date.Time `json:"lastUpdateTimeUtc,omitempty"`
728
729 FinalizingTimeUtc *date.Time `json:"finalizingTimeUtc,omitempty"`
730
731 Stages *[]StatisticsVertexStage `json:"stages,omitempty"`
732 }
733
734
735 func (s Statistics) MarshalJSON() ([]byte, error) {
736 objectMap := make(map[string]interface{})
737 return json.Marshal(objectMap)
738 }
739
740
741 type StatisticsVertexStage struct {
742
743 DataRead *int64 `json:"dataRead,omitempty"`
744
745 DataReadCrossPod *int64 `json:"dataReadCrossPod,omitempty"`
746
747 DataReadIntraPod *int64 `json:"dataReadIntraPod,omitempty"`
748
749 DataToRead *int64 `json:"dataToRead,omitempty"`
750
751 DataWritten *int64 `json:"dataWritten,omitempty"`
752
753 DuplicateDiscardCount *int32 `json:"duplicateDiscardCount,omitempty"`
754
755 FailedCount *int32 `json:"failedCount,omitempty"`
756
757 MaxVertexDataRead *int64 `json:"maxVertexDataRead,omitempty"`
758
759 MinVertexDataRead *int64 `json:"minVertexDataRead,omitempty"`
760
761 ReadFailureCount *int32 `json:"readFailureCount,omitempty"`
762
763 RevocationCount *int32 `json:"revocationCount,omitempty"`
764
765 RunningCount *int32 `json:"runningCount,omitempty"`
766
767 ScheduledCount *int32 `json:"scheduledCount,omitempty"`
768
769 StageName *string `json:"stageName,omitempty"`
770
771 SucceededCount *int32 `json:"succeededCount,omitempty"`
772
773 TempDataWritten *int64 `json:"tempDataWritten,omitempty"`
774
775 TotalCount *int32 `json:"totalCount,omitempty"`
776
777 TotalFailedTime *string `json:"totalFailedTime,omitempty"`
778
779 TotalProgress *int32 `json:"totalProgress,omitempty"`
780
781 TotalSucceededTime *string `json:"totalSucceededTime,omitempty"`
782 }
783
784
785 func (svs StatisticsVertexStage) MarshalJSON() ([]byte, error) {
786 objectMap := make(map[string]interface{})
787 return json.Marshal(objectMap)
788 }
789
790
791 type USQLJobProperties struct {
792
793 Resources *[]Resource `json:"resources,omitempty"`
794
795 Statistics *Statistics `json:"statistics,omitempty"`
796
797 DebugData *DataPath `json:"debugData,omitempty"`
798
799 Diagnostics *[]Diagnostics `json:"diagnostics,omitempty"`
800
801 AlgebraFilePath *string `json:"algebraFilePath,omitempty"`
802
803 TotalCompilationTime *string `json:"totalCompilationTime,omitempty"`
804
805 TotalPauseTime *string `json:"totalPauseTime,omitempty"`
806
807 TotalQueuedTime *string `json:"totalQueuedTime,omitempty"`
808
809 TotalRunningTime *string `json:"totalRunningTime,omitempty"`
810
811 RootProcessNodeID *string `json:"rootProcessNodeId,omitempty"`
812
813 YarnApplicationID *string `json:"yarnApplicationId,omitempty"`
814
815 YarnApplicationTimeStamp *int64 `json:"yarnApplicationTimeStamp,omitempty"`
816
817 CompileMode CompileMode `json:"compileMode,omitempty"`
818
819 RuntimeVersion *string `json:"runtimeVersion,omitempty"`
820
821 Script *string `json:"script,omitempty"`
822
823 Type Type `json:"type,omitempty"`
824 }
825
826
827 func (usjp USQLJobProperties) MarshalJSON() ([]byte, error) {
828 usjp.Type = TypeUSQL
829 objectMap := make(map[string]interface{})
830 if usjp.Resources != nil {
831 objectMap["resources"] = usjp.Resources
832 }
833 if usjp.Statistics != nil {
834 objectMap["statistics"] = usjp.Statistics
835 }
836 if usjp.DebugData != nil {
837 objectMap["debugData"] = usjp.DebugData
838 }
839 if usjp.Diagnostics != nil {
840 objectMap["diagnostics"] = usjp.Diagnostics
841 }
842 if usjp.CompileMode != "" {
843 objectMap["compileMode"] = usjp.CompileMode
844 }
845 if usjp.RuntimeVersion != nil {
846 objectMap["runtimeVersion"] = usjp.RuntimeVersion
847 }
848 if usjp.Script != nil {
849 objectMap["script"] = usjp.Script
850 }
851 if usjp.Type != "" {
852 objectMap["type"] = usjp.Type
853 }
854 return json.Marshal(objectMap)
855 }
856
857
858 func (usjp USQLJobProperties) AsUSQLJobProperties() (*USQLJobProperties, bool) {
859 return &usjp, true
860 }
861
862
863 func (usjp USQLJobProperties) AsHiveJobProperties() (*HiveJobProperties, bool) {
864 return nil, false
865 }
866
867
868 func (usjp USQLJobProperties) AsProperties() (*Properties, bool) {
869 return nil, false
870 }
871
872
873 func (usjp USQLJobProperties) AsBasicProperties() (BasicProperties, bool) {
874 return &usjp, true
875 }
876
View as plain text