1package logic
2
3// Copyright (c) Microsoft and contributors.  All rights reserved.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13//
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// Code generated by Microsoft (R) AutoRest Code Generator.
18// Changes may cause incorrect behavior and will be lost if the code is regenerated.
19
20import (
21	"context"
22	"encoding/json"
23	"github.com/Azure/go-autorest/autorest"
24	"github.com/Azure/go-autorest/autorest/date"
25	"github.com/Azure/go-autorest/autorest/to"
26	"github.com/Azure/go-autorest/tracing"
27	"net/http"
28)
29
30// The package's fully qualified name.
31const fqdn = "github.com/Azure/azure-sdk-for-go/services/logic/mgmt/2016-06-01/logic"
32
33// AccessKeyType enumerates the values for access key type.
34type AccessKeyType string
35
36const (
37	// NotSpecified ...
38	NotSpecified AccessKeyType = "NotSpecified"
39	// Primary ...
40	Primary AccessKeyType = "Primary"
41	// Secondary ...
42	Secondary AccessKeyType = "Secondary"
43)
44
45// PossibleAccessKeyTypeValues returns an array of possible values for the AccessKeyType const type.
46func PossibleAccessKeyTypeValues() []AccessKeyType {
47	return []AccessKeyType{NotSpecified, Primary, Secondary}
48}
49
50// AgreementType enumerates the values for agreement type.
51type AgreementType string
52
53const (
54	// AgreementTypeAS2 ...
55	AgreementTypeAS2 AgreementType = "AS2"
56	// AgreementTypeEdifact ...
57	AgreementTypeEdifact AgreementType = "Edifact"
58	// AgreementTypeNotSpecified ...
59	AgreementTypeNotSpecified AgreementType = "NotSpecified"
60	// AgreementTypeX12 ...
61	AgreementTypeX12 AgreementType = "X12"
62)
63
64// PossibleAgreementTypeValues returns an array of possible values for the AgreementType const type.
65func PossibleAgreementTypeValues() []AgreementType {
66	return []AgreementType{AgreementTypeAS2, AgreementTypeEdifact, AgreementTypeNotSpecified, AgreementTypeX12}
67}
68
69// DayOfWeek enumerates the values for day of week.
70type DayOfWeek string
71
72const (
73	// Friday ...
74	Friday DayOfWeek = "Friday"
75	// Monday ...
76	Monday DayOfWeek = "Monday"
77	// Saturday ...
78	Saturday DayOfWeek = "Saturday"
79	// Sunday ...
80	Sunday DayOfWeek = "Sunday"
81	// Thursday ...
82	Thursday DayOfWeek = "Thursday"
83	// Tuesday ...
84	Tuesday DayOfWeek = "Tuesday"
85	// Wednesday ...
86	Wednesday DayOfWeek = "Wednesday"
87)
88
89// PossibleDayOfWeekValues returns an array of possible values for the DayOfWeek const type.
90func PossibleDayOfWeekValues() []DayOfWeek {
91	return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday}
92}
93
94// DaysOfWeek enumerates the values for days of week.
95type DaysOfWeek string
96
97const (
98	// DaysOfWeekFriday ...
99	DaysOfWeekFriday DaysOfWeek = "Friday"
100	// DaysOfWeekMonday ...
101	DaysOfWeekMonday DaysOfWeek = "Monday"
102	// DaysOfWeekSaturday ...
103	DaysOfWeekSaturday DaysOfWeek = "Saturday"
104	// DaysOfWeekSunday ...
105	DaysOfWeekSunday DaysOfWeek = "Sunday"
106	// DaysOfWeekThursday ...
107	DaysOfWeekThursday DaysOfWeek = "Thursday"
108	// DaysOfWeekTuesday ...
109	DaysOfWeekTuesday DaysOfWeek = "Tuesday"
110	// DaysOfWeekWednesday ...
111	DaysOfWeekWednesday DaysOfWeek = "Wednesday"
112)
113
114// PossibleDaysOfWeekValues returns an array of possible values for the DaysOfWeek const type.
115func PossibleDaysOfWeekValues() []DaysOfWeek {
116	return []DaysOfWeek{DaysOfWeekFriday, DaysOfWeekMonday, DaysOfWeekSaturday, DaysOfWeekSunday, DaysOfWeekThursday, DaysOfWeekTuesday, DaysOfWeekWednesday}
117}
118
119// EdifactCharacterSet enumerates the values for edifact character set.
120type EdifactCharacterSet string
121
122const (
123	// EdifactCharacterSetKECA ...
124	EdifactCharacterSetKECA EdifactCharacterSet = "KECA"
125	// EdifactCharacterSetNotSpecified ...
126	EdifactCharacterSetNotSpecified EdifactCharacterSet = "NotSpecified"
127	// EdifactCharacterSetUNOA ...
128	EdifactCharacterSetUNOA EdifactCharacterSet = "UNOA"
129	// EdifactCharacterSetUNOB ...
130	EdifactCharacterSetUNOB EdifactCharacterSet = "UNOB"
131	// EdifactCharacterSetUNOC ...
132	EdifactCharacterSetUNOC EdifactCharacterSet = "UNOC"
133	// EdifactCharacterSetUNOD ...
134	EdifactCharacterSetUNOD EdifactCharacterSet = "UNOD"
135	// EdifactCharacterSetUNOE ...
136	EdifactCharacterSetUNOE EdifactCharacterSet = "UNOE"
137	// EdifactCharacterSetUNOF ...
138	EdifactCharacterSetUNOF EdifactCharacterSet = "UNOF"
139	// EdifactCharacterSetUNOG ...
140	EdifactCharacterSetUNOG EdifactCharacterSet = "UNOG"
141	// EdifactCharacterSetUNOH ...
142	EdifactCharacterSetUNOH EdifactCharacterSet = "UNOH"
143	// EdifactCharacterSetUNOI ...
144	EdifactCharacterSetUNOI EdifactCharacterSet = "UNOI"
145	// EdifactCharacterSetUNOJ ...
146	EdifactCharacterSetUNOJ EdifactCharacterSet = "UNOJ"
147	// EdifactCharacterSetUNOK ...
148	EdifactCharacterSetUNOK EdifactCharacterSet = "UNOK"
149	// EdifactCharacterSetUNOX ...
150	EdifactCharacterSetUNOX EdifactCharacterSet = "UNOX"
151	// EdifactCharacterSetUNOY ...
152	EdifactCharacterSetUNOY EdifactCharacterSet = "UNOY"
153)
154
155// PossibleEdifactCharacterSetValues returns an array of possible values for the EdifactCharacterSet const type.
156func PossibleEdifactCharacterSetValues() []EdifactCharacterSet {
157	return []EdifactCharacterSet{EdifactCharacterSetKECA, EdifactCharacterSetNotSpecified, EdifactCharacterSetUNOA, EdifactCharacterSetUNOB, EdifactCharacterSetUNOC, EdifactCharacterSetUNOD, EdifactCharacterSetUNOE, EdifactCharacterSetUNOF, EdifactCharacterSetUNOG, EdifactCharacterSetUNOH, EdifactCharacterSetUNOI, EdifactCharacterSetUNOJ, EdifactCharacterSetUNOK, EdifactCharacterSetUNOX, EdifactCharacterSetUNOY}
158}
159
160// EdifactDecimalIndicator enumerates the values for edifact decimal indicator.
161type EdifactDecimalIndicator string
162
163const (
164	// EdifactDecimalIndicatorComma ...
165	EdifactDecimalIndicatorComma EdifactDecimalIndicator = "Comma"
166	// EdifactDecimalIndicatorDecimal ...
167	EdifactDecimalIndicatorDecimal EdifactDecimalIndicator = "Decimal"
168	// EdifactDecimalIndicatorNotSpecified ...
169	EdifactDecimalIndicatorNotSpecified EdifactDecimalIndicator = "NotSpecified"
170)
171
172// PossibleEdifactDecimalIndicatorValues returns an array of possible values for the EdifactDecimalIndicator const type.
173func PossibleEdifactDecimalIndicatorValues() []EdifactDecimalIndicator {
174	return []EdifactDecimalIndicator{EdifactDecimalIndicatorComma, EdifactDecimalIndicatorDecimal, EdifactDecimalIndicatorNotSpecified}
175}
176
177// EncryptionAlgorithm enumerates the values for encryption algorithm.
178type EncryptionAlgorithm string
179
180const (
181	// EncryptionAlgorithmAES128 ...
182	EncryptionAlgorithmAES128 EncryptionAlgorithm = "AES128"
183	// EncryptionAlgorithmAES192 ...
184	EncryptionAlgorithmAES192 EncryptionAlgorithm = "AES192"
185	// EncryptionAlgorithmAES256 ...
186	EncryptionAlgorithmAES256 EncryptionAlgorithm = "AES256"
187	// EncryptionAlgorithmDES3 ...
188	EncryptionAlgorithmDES3 EncryptionAlgorithm = "DES3"
189	// EncryptionAlgorithmNone ...
190	EncryptionAlgorithmNone EncryptionAlgorithm = "None"
191	// EncryptionAlgorithmNotSpecified ...
192	EncryptionAlgorithmNotSpecified EncryptionAlgorithm = "NotSpecified"
193	// EncryptionAlgorithmRC2 ...
194	EncryptionAlgorithmRC2 EncryptionAlgorithm = "RC2"
195)
196
197// PossibleEncryptionAlgorithmValues returns an array of possible values for the EncryptionAlgorithm const type.
198func PossibleEncryptionAlgorithmValues() []EncryptionAlgorithm {
199	return []EncryptionAlgorithm{EncryptionAlgorithmAES128, EncryptionAlgorithmAES192, EncryptionAlgorithmAES256, EncryptionAlgorithmDES3, EncryptionAlgorithmNone, EncryptionAlgorithmNotSpecified, EncryptionAlgorithmRC2}
200}
201
202// EventLevel enumerates the values for event level.
203type EventLevel string
204
205const (
206	// Critical ...
207	Critical EventLevel = "Critical"
208	// Error ...
209	Error EventLevel = "Error"
210	// Informational ...
211	Informational EventLevel = "Informational"
212	// LogAlways ...
213	LogAlways EventLevel = "LogAlways"
214	// Verbose ...
215	Verbose EventLevel = "Verbose"
216	// Warning ...
217	Warning EventLevel = "Warning"
218)
219
220// PossibleEventLevelValues returns an array of possible values for the EventLevel const type.
221func PossibleEventLevelValues() []EventLevel {
222	return []EventLevel{Critical, Error, Informational, LogAlways, Verbose, Warning}
223}
224
225// HashingAlgorithm enumerates the values for hashing algorithm.
226type HashingAlgorithm string
227
228const (
229	// HashingAlgorithmMD5 ...
230	HashingAlgorithmMD5 HashingAlgorithm = "MD5"
231	// HashingAlgorithmNone ...
232	HashingAlgorithmNone HashingAlgorithm = "None"
233	// HashingAlgorithmNotSpecified ...
234	HashingAlgorithmNotSpecified HashingAlgorithm = "NotSpecified"
235	// HashingAlgorithmSHA1 ...
236	HashingAlgorithmSHA1 HashingAlgorithm = "SHA1"
237	// HashingAlgorithmSHA2256 ...
238	HashingAlgorithmSHA2256 HashingAlgorithm = "SHA2256"
239	// HashingAlgorithmSHA2384 ...
240	HashingAlgorithmSHA2384 HashingAlgorithm = "SHA2384"
241	// HashingAlgorithmSHA2512 ...
242	HashingAlgorithmSHA2512 HashingAlgorithm = "SHA2512"
243)
244
245// PossibleHashingAlgorithmValues returns an array of possible values for the HashingAlgorithm const type.
246func PossibleHashingAlgorithmValues() []HashingAlgorithm {
247	return []HashingAlgorithm{HashingAlgorithmMD5, HashingAlgorithmNone, HashingAlgorithmNotSpecified, HashingAlgorithmSHA1, HashingAlgorithmSHA2256, HashingAlgorithmSHA2384, HashingAlgorithmSHA2512}
248}
249
250// IntegrationAccountSkuName enumerates the values for integration account sku name.
251type IntegrationAccountSkuName string
252
253const (
254	// IntegrationAccountSkuNameFree ...
255	IntegrationAccountSkuNameFree IntegrationAccountSkuName = "Free"
256	// IntegrationAccountSkuNameNotSpecified ...
257	IntegrationAccountSkuNameNotSpecified IntegrationAccountSkuName = "NotSpecified"
258	// IntegrationAccountSkuNameStandard ...
259	IntegrationAccountSkuNameStandard IntegrationAccountSkuName = "Standard"
260)
261
262// PossibleIntegrationAccountSkuNameValues returns an array of possible values for the IntegrationAccountSkuName const type.
263func PossibleIntegrationAccountSkuNameValues() []IntegrationAccountSkuName {
264	return []IntegrationAccountSkuName{IntegrationAccountSkuNameFree, IntegrationAccountSkuNameNotSpecified, IntegrationAccountSkuNameStandard}
265}
266
267// KeyType enumerates the values for key type.
268type KeyType string
269
270const (
271	// KeyTypeNotSpecified ...
272	KeyTypeNotSpecified KeyType = "NotSpecified"
273	// KeyTypePrimary ...
274	KeyTypePrimary KeyType = "Primary"
275	// KeyTypeSecondary ...
276	KeyTypeSecondary KeyType = "Secondary"
277)
278
279// PossibleKeyTypeValues returns an array of possible values for the KeyType const type.
280func PossibleKeyTypeValues() []KeyType {
281	return []KeyType{KeyTypeNotSpecified, KeyTypePrimary, KeyTypeSecondary}
282}
283
284// MapType enumerates the values for map type.
285type MapType string
286
287const (
288	// MapTypeNotSpecified ...
289	MapTypeNotSpecified MapType = "NotSpecified"
290	// MapTypeXslt ...
291	MapTypeXslt MapType = "Xslt"
292)
293
294// PossibleMapTypeValues returns an array of possible values for the MapType const type.
295func PossibleMapTypeValues() []MapType {
296	return []MapType{MapTypeNotSpecified, MapTypeXslt}
297}
298
299// MessageEncoding enumerates the values for message encoding.
300type MessageEncoding string
301
302const (
303	// MessageEncodingBase64 ...
304	MessageEncodingBase64 MessageEncoding = "Base64"
305	// MessageEncodingEightBit ...
306	MessageEncodingEightBit MessageEncoding = "EightBit"
307	// MessageEncodingNotSpecified ...
308	MessageEncodingNotSpecified MessageEncoding = "NotSpecified"
309	// MessageEncodingQuotedPrintable ...
310	MessageEncodingQuotedPrintable MessageEncoding = "QuotedPrintable"
311)
312
313// PossibleMessageEncodingValues returns an array of possible values for the MessageEncoding const type.
314func PossibleMessageEncodingValues() []MessageEncoding {
315	return []MessageEncoding{MessageEncodingBase64, MessageEncodingEightBit, MessageEncodingNotSpecified, MessageEncodingQuotedPrintable}
316}
317
318// MessageFilterType enumerates the values for message filter type.
319type MessageFilterType string
320
321const (
322	// MessageFilterTypeExclude ...
323	MessageFilterTypeExclude MessageFilterType = "Exclude"
324	// MessageFilterTypeInclude ...
325	MessageFilterTypeInclude MessageFilterType = "Include"
326	// MessageFilterTypeNotSpecified ...
327	MessageFilterTypeNotSpecified MessageFilterType = "NotSpecified"
328)
329
330// PossibleMessageFilterTypeValues returns an array of possible values for the MessageFilterType const type.
331func PossibleMessageFilterTypeValues() []MessageFilterType {
332	return []MessageFilterType{MessageFilterTypeExclude, MessageFilterTypeInclude, MessageFilterTypeNotSpecified}
333}
334
335// ParameterType enumerates the values for parameter type.
336type ParameterType string
337
338const (
339	// ParameterTypeArray ...
340	ParameterTypeArray ParameterType = "Array"
341	// ParameterTypeBool ...
342	ParameterTypeBool ParameterType = "Bool"
343	// ParameterTypeFloat ...
344	ParameterTypeFloat ParameterType = "Float"
345	// ParameterTypeInt ...
346	ParameterTypeInt ParameterType = "Int"
347	// ParameterTypeNotSpecified ...
348	ParameterTypeNotSpecified ParameterType = "NotSpecified"
349	// ParameterTypeObject ...
350	ParameterTypeObject ParameterType = "Object"
351	// ParameterTypeSecureObject ...
352	ParameterTypeSecureObject ParameterType = "SecureObject"
353	// ParameterTypeSecureString ...
354	ParameterTypeSecureString ParameterType = "SecureString"
355	// ParameterTypeString ...
356	ParameterTypeString ParameterType = "String"
357)
358
359// PossibleParameterTypeValues returns an array of possible values for the ParameterType const type.
360func PossibleParameterTypeValues() []ParameterType {
361	return []ParameterType{ParameterTypeArray, ParameterTypeBool, ParameterTypeFloat, ParameterTypeInt, ParameterTypeNotSpecified, ParameterTypeObject, ParameterTypeSecureObject, ParameterTypeSecureString, ParameterTypeString}
362}
363
364// PartnerType enumerates the values for partner type.
365type PartnerType string
366
367const (
368	// PartnerTypeB2B ...
369	PartnerTypeB2B PartnerType = "B2B"
370	// PartnerTypeNotSpecified ...
371	PartnerTypeNotSpecified PartnerType = "NotSpecified"
372)
373
374// PossiblePartnerTypeValues returns an array of possible values for the PartnerType const type.
375func PossiblePartnerTypeValues() []PartnerType {
376	return []PartnerType{PartnerTypeB2B, PartnerTypeNotSpecified}
377}
378
379// RecurrenceFrequency enumerates the values for recurrence frequency.
380type RecurrenceFrequency string
381
382const (
383	// RecurrenceFrequencyDay ...
384	RecurrenceFrequencyDay RecurrenceFrequency = "Day"
385	// RecurrenceFrequencyHour ...
386	RecurrenceFrequencyHour RecurrenceFrequency = "Hour"
387	// RecurrenceFrequencyMinute ...
388	RecurrenceFrequencyMinute RecurrenceFrequency = "Minute"
389	// RecurrenceFrequencyMonth ...
390	RecurrenceFrequencyMonth RecurrenceFrequency = "Month"
391	// RecurrenceFrequencyNotSpecified ...
392	RecurrenceFrequencyNotSpecified RecurrenceFrequency = "NotSpecified"
393	// RecurrenceFrequencySecond ...
394	RecurrenceFrequencySecond RecurrenceFrequency = "Second"
395	// RecurrenceFrequencyWeek ...
396	RecurrenceFrequencyWeek RecurrenceFrequency = "Week"
397	// RecurrenceFrequencyYear ...
398	RecurrenceFrequencyYear RecurrenceFrequency = "Year"
399)
400
401// PossibleRecurrenceFrequencyValues returns an array of possible values for the RecurrenceFrequency const type.
402func PossibleRecurrenceFrequencyValues() []RecurrenceFrequency {
403	return []RecurrenceFrequency{RecurrenceFrequencyDay, RecurrenceFrequencyHour, RecurrenceFrequencyMinute, RecurrenceFrequencyMonth, RecurrenceFrequencyNotSpecified, RecurrenceFrequencySecond, RecurrenceFrequencyWeek, RecurrenceFrequencyYear}
404}
405
406// RosettaNetActionType enumerates the values for rosetta net action type.
407type RosettaNetActionType string
408
409const (
410	// RosettaNetActionTypeDoubleAction ...
411	RosettaNetActionTypeDoubleAction RosettaNetActionType = "DoubleAction"
412	// RosettaNetActionTypeNotSpecified ...
413	RosettaNetActionTypeNotSpecified RosettaNetActionType = "NotSpecified"
414	// RosettaNetActionTypeSingleAction ...
415	RosettaNetActionTypeSingleAction RosettaNetActionType = "SingleAction"
416)
417
418// PossibleRosettaNetActionTypeValues returns an array of possible values for the RosettaNetActionType const type.
419func PossibleRosettaNetActionTypeValues() []RosettaNetActionType {
420	return []RosettaNetActionType{RosettaNetActionTypeDoubleAction, RosettaNetActionTypeNotSpecified, RosettaNetActionTypeSingleAction}
421}
422
423// RosettaNetPipActivityType enumerates the values for rosetta net pip activity type.
424type RosettaNetPipActivityType string
425
426const (
427	// RosettaNetPipActivityTypeBusinessTransaction ...
428	RosettaNetPipActivityTypeBusinessTransaction RosettaNetPipActivityType = "BusinessTransaction"
429	// RosettaNetPipActivityTypeInformationDistribution ...
430	RosettaNetPipActivityTypeInformationDistribution RosettaNetPipActivityType = "InformationDistribution"
431	// RosettaNetPipActivityTypeNotification ...
432	RosettaNetPipActivityTypeNotification RosettaNetPipActivityType = "Notification"
433	// RosettaNetPipActivityTypeNotSpecified ...
434	RosettaNetPipActivityTypeNotSpecified RosettaNetPipActivityType = "NotSpecified"
435	// RosettaNetPipActivityTypeQueryResponse ...
436	RosettaNetPipActivityTypeQueryResponse RosettaNetPipActivityType = "QueryResponse"
437	// RosettaNetPipActivityTypeRequestConfirm ...
438	RosettaNetPipActivityTypeRequestConfirm RosettaNetPipActivityType = "RequestConfirm"
439	// RosettaNetPipActivityTypeRequestResponse ...
440	RosettaNetPipActivityTypeRequestResponse RosettaNetPipActivityType = "RequestResponse"
441)
442
443// PossibleRosettaNetPipActivityTypeValues returns an array of possible values for the RosettaNetPipActivityType const type.
444func PossibleRosettaNetPipActivityTypeValues() []RosettaNetPipActivityType {
445	return []RosettaNetPipActivityType{RosettaNetPipActivityTypeBusinessTransaction, RosettaNetPipActivityTypeInformationDistribution, RosettaNetPipActivityTypeNotification, RosettaNetPipActivityTypeNotSpecified, RosettaNetPipActivityTypeQueryResponse, RosettaNetPipActivityTypeRequestConfirm, RosettaNetPipActivityTypeRequestResponse}
446}
447
448// RosettaNetPipConfidentialityScope enumerates the values for rosetta net pip confidentiality scope.
449type RosettaNetPipConfidentialityScope string
450
451const (
452	// RosettaNetPipConfidentialityScopeNone ...
453	RosettaNetPipConfidentialityScopeNone RosettaNetPipConfidentialityScope = "None"
454	// RosettaNetPipConfidentialityScopeNotSpecified ...
455	RosettaNetPipConfidentialityScopeNotSpecified RosettaNetPipConfidentialityScope = "NotSpecified"
456	// RosettaNetPipConfidentialityScopePayload ...
457	RosettaNetPipConfidentialityScopePayload RosettaNetPipConfidentialityScope = "Payload"
458	// RosettaNetPipConfidentialityScopePayloadContainer ...
459	RosettaNetPipConfidentialityScopePayloadContainer RosettaNetPipConfidentialityScope = "PayloadContainer"
460)
461
462// PossibleRosettaNetPipConfidentialityScopeValues returns an array of possible values for the RosettaNetPipConfidentialityScope const type.
463func PossibleRosettaNetPipConfidentialityScopeValues() []RosettaNetPipConfidentialityScope {
464	return []RosettaNetPipConfidentialityScope{RosettaNetPipConfidentialityScopeNone, RosettaNetPipConfidentialityScopeNotSpecified, RosettaNetPipConfidentialityScopePayload, RosettaNetPipConfidentialityScopePayloadContainer}
465}
466
467// RosettaNetPipRoleType enumerates the values for rosetta net pip role type.
468type RosettaNetPipRoleType string
469
470const (
471	// RosettaNetPipRoleTypeEmployee ...
472	RosettaNetPipRoleTypeEmployee RosettaNetPipRoleType = "Employee"
473	// RosettaNetPipRoleTypeFunctional ...
474	RosettaNetPipRoleTypeFunctional RosettaNetPipRoleType = "Functional"
475	// RosettaNetPipRoleTypeNotSpecified ...
476	RosettaNetPipRoleTypeNotSpecified RosettaNetPipRoleType = "NotSpecified"
477	// RosettaNetPipRoleTypeOrganizational ...
478	RosettaNetPipRoleTypeOrganizational RosettaNetPipRoleType = "Organizational"
479)
480
481// PossibleRosettaNetPipRoleTypeValues returns an array of possible values for the RosettaNetPipRoleType const type.
482func PossibleRosettaNetPipRoleTypeValues() []RosettaNetPipRoleType {
483	return []RosettaNetPipRoleType{RosettaNetPipRoleTypeEmployee, RosettaNetPipRoleTypeFunctional, RosettaNetPipRoleTypeNotSpecified, RosettaNetPipRoleTypeOrganizational}
484}
485
486// RosettaNetResponseType enumerates the values for rosetta net response type.
487type RosettaNetResponseType string
488
489const (
490	// RosettaNetResponseTypeAsync ...
491	RosettaNetResponseTypeAsync RosettaNetResponseType = "Async"
492	// RosettaNetResponseTypeNotSpecified ...
493	RosettaNetResponseTypeNotSpecified RosettaNetResponseType = "NotSpecified"
494	// RosettaNetResponseTypeSync ...
495	RosettaNetResponseTypeSync RosettaNetResponseType = "Sync"
496)
497
498// PossibleRosettaNetResponseTypeValues returns an array of possible values for the RosettaNetResponseType const type.
499func PossibleRosettaNetResponseTypeValues() []RosettaNetResponseType {
500	return []RosettaNetResponseType{RosettaNetResponseTypeAsync, RosettaNetResponseTypeNotSpecified, RosettaNetResponseTypeSync}
501}
502
503// SchemaType enumerates the values for schema type.
504type SchemaType string
505
506const (
507	// SchemaTypeNotSpecified ...
508	SchemaTypeNotSpecified SchemaType = "NotSpecified"
509	// SchemaTypeXML ...
510	SchemaTypeXML SchemaType = "Xml"
511)
512
513// PossibleSchemaTypeValues returns an array of possible values for the SchemaType const type.
514func PossibleSchemaTypeValues() []SchemaType {
515	return []SchemaType{SchemaTypeNotSpecified, SchemaTypeXML}
516}
517
518// SegmentTerminatorSuffix enumerates the values for segment terminator suffix.
519type SegmentTerminatorSuffix string
520
521const (
522	// SegmentTerminatorSuffixCR ...
523	SegmentTerminatorSuffixCR SegmentTerminatorSuffix = "CR"
524	// SegmentTerminatorSuffixCRLF ...
525	SegmentTerminatorSuffixCRLF SegmentTerminatorSuffix = "CRLF"
526	// SegmentTerminatorSuffixLF ...
527	SegmentTerminatorSuffixLF SegmentTerminatorSuffix = "LF"
528	// SegmentTerminatorSuffixNone ...
529	SegmentTerminatorSuffixNone SegmentTerminatorSuffix = "None"
530	// SegmentTerminatorSuffixNotSpecified ...
531	SegmentTerminatorSuffixNotSpecified SegmentTerminatorSuffix = "NotSpecified"
532)
533
534// PossibleSegmentTerminatorSuffixValues returns an array of possible values for the SegmentTerminatorSuffix const type.
535func PossibleSegmentTerminatorSuffixValues() []SegmentTerminatorSuffix {
536	return []SegmentTerminatorSuffix{SegmentTerminatorSuffixCR, SegmentTerminatorSuffixCRLF, SegmentTerminatorSuffixLF, SegmentTerminatorSuffixNone, SegmentTerminatorSuffixNotSpecified}
537}
538
539// SigningAlgorithm enumerates the values for signing algorithm.
540type SigningAlgorithm string
541
542const (
543	// SigningAlgorithmDefault ...
544	SigningAlgorithmDefault SigningAlgorithm = "Default"
545	// SigningAlgorithmNotSpecified ...
546	SigningAlgorithmNotSpecified SigningAlgorithm = "NotSpecified"
547	// SigningAlgorithmSHA1 ...
548	SigningAlgorithmSHA1 SigningAlgorithm = "SHA1"
549	// SigningAlgorithmSHA2256 ...
550	SigningAlgorithmSHA2256 SigningAlgorithm = "SHA2256"
551	// SigningAlgorithmSHA2384 ...
552	SigningAlgorithmSHA2384 SigningAlgorithm = "SHA2384"
553	// SigningAlgorithmSHA2512 ...
554	SigningAlgorithmSHA2512 SigningAlgorithm = "SHA2512"
555)
556
557// PossibleSigningAlgorithmValues returns an array of possible values for the SigningAlgorithm const type.
558func PossibleSigningAlgorithmValues() []SigningAlgorithm {
559	return []SigningAlgorithm{SigningAlgorithmDefault, SigningAlgorithmNotSpecified, SigningAlgorithmSHA1, SigningAlgorithmSHA2256, SigningAlgorithmSHA2384, SigningAlgorithmSHA2512}
560}
561
562// SkuName enumerates the values for sku name.
563type SkuName string
564
565const (
566	// SkuNameBasic ...
567	SkuNameBasic SkuName = "Basic"
568	// SkuNameFree ...
569	SkuNameFree SkuName = "Free"
570	// SkuNameNotSpecified ...
571	SkuNameNotSpecified SkuName = "NotSpecified"
572	// SkuNamePremium ...
573	SkuNamePremium SkuName = "Premium"
574	// SkuNameShared ...
575	SkuNameShared SkuName = "Shared"
576	// SkuNameStandard ...
577	SkuNameStandard SkuName = "Standard"
578)
579
580// PossibleSkuNameValues returns an array of possible values for the SkuName const type.
581func PossibleSkuNameValues() []SkuName {
582	return []SkuName{SkuNameBasic, SkuNameFree, SkuNameNotSpecified, SkuNamePremium, SkuNameShared, SkuNameStandard}
583}
584
585// TrackEventsOperationOptions enumerates the values for track events operation options.
586type TrackEventsOperationOptions string
587
588const (
589	// DisableSourceInfoEnrich ...
590	DisableSourceInfoEnrich TrackEventsOperationOptions = "DisableSourceInfoEnrich"
591	// None ...
592	None TrackEventsOperationOptions = "None"
593)
594
595// PossibleTrackEventsOperationOptionsValues returns an array of possible values for the TrackEventsOperationOptions const type.
596func PossibleTrackEventsOperationOptionsValues() []TrackEventsOperationOptions {
597	return []TrackEventsOperationOptions{DisableSourceInfoEnrich, None}
598}
599
600// TrackingRecordType enumerates the values for tracking record type.
601type TrackingRecordType string
602
603const (
604	// TrackingRecordTypeAS2MDN ...
605	TrackingRecordTypeAS2MDN TrackingRecordType = "AS2MDN"
606	// TrackingRecordTypeAS2Message ...
607	TrackingRecordTypeAS2Message TrackingRecordType = "AS2Message"
608	// TrackingRecordTypeCustom ...
609	TrackingRecordTypeCustom TrackingRecordType = "Custom"
610	// TrackingRecordTypeEdifactFunctionalGroup ...
611	TrackingRecordTypeEdifactFunctionalGroup TrackingRecordType = "EdifactFunctionalGroup"
612	// TrackingRecordTypeEdifactFunctionalGroupAcknowledgment ...
613	TrackingRecordTypeEdifactFunctionalGroupAcknowledgment TrackingRecordType = "EdifactFunctionalGroupAcknowledgment"
614	// TrackingRecordTypeEdifactInterchange ...
615	TrackingRecordTypeEdifactInterchange TrackingRecordType = "EdifactInterchange"
616	// TrackingRecordTypeEdifactInterchangeAcknowledgment ...
617	TrackingRecordTypeEdifactInterchangeAcknowledgment TrackingRecordType = "EdifactInterchangeAcknowledgment"
618	// TrackingRecordTypeEdifactTransactionSet ...
619	TrackingRecordTypeEdifactTransactionSet TrackingRecordType = "EdifactTransactionSet"
620	// TrackingRecordTypeEdifactTransactionSetAcknowledgment ...
621	TrackingRecordTypeEdifactTransactionSetAcknowledgment TrackingRecordType = "EdifactTransactionSetAcknowledgment"
622	// TrackingRecordTypeNotSpecified ...
623	TrackingRecordTypeNotSpecified TrackingRecordType = "NotSpecified"
624	// TrackingRecordTypeX12FunctionalGroup ...
625	TrackingRecordTypeX12FunctionalGroup TrackingRecordType = "X12FunctionalGroup"
626	// TrackingRecordTypeX12FunctionalGroupAcknowledgment ...
627	TrackingRecordTypeX12FunctionalGroupAcknowledgment TrackingRecordType = "X12FunctionalGroupAcknowledgment"
628	// TrackingRecordTypeX12Interchange ...
629	TrackingRecordTypeX12Interchange TrackingRecordType = "X12Interchange"
630	// TrackingRecordTypeX12InterchangeAcknowledgment ...
631	TrackingRecordTypeX12InterchangeAcknowledgment TrackingRecordType = "X12InterchangeAcknowledgment"
632	// TrackingRecordTypeX12TransactionSet ...
633	TrackingRecordTypeX12TransactionSet TrackingRecordType = "X12TransactionSet"
634	// TrackingRecordTypeX12TransactionSetAcknowledgment ...
635	TrackingRecordTypeX12TransactionSetAcknowledgment TrackingRecordType = "X12TransactionSetAcknowledgment"
636)
637
638// PossibleTrackingRecordTypeValues returns an array of possible values for the TrackingRecordType const type.
639func PossibleTrackingRecordTypeValues() []TrackingRecordType {
640	return []TrackingRecordType{TrackingRecordTypeAS2MDN, TrackingRecordTypeAS2Message, TrackingRecordTypeCustom, TrackingRecordTypeEdifactFunctionalGroup, TrackingRecordTypeEdifactFunctionalGroupAcknowledgment, TrackingRecordTypeEdifactInterchange, TrackingRecordTypeEdifactInterchangeAcknowledgment, TrackingRecordTypeEdifactTransactionSet, TrackingRecordTypeEdifactTransactionSetAcknowledgment, TrackingRecordTypeNotSpecified, TrackingRecordTypeX12FunctionalGroup, TrackingRecordTypeX12FunctionalGroupAcknowledgment, TrackingRecordTypeX12Interchange, TrackingRecordTypeX12InterchangeAcknowledgment, TrackingRecordTypeX12TransactionSet, TrackingRecordTypeX12TransactionSetAcknowledgment}
641}
642
643// TrailingSeparatorPolicy enumerates the values for trailing separator policy.
644type TrailingSeparatorPolicy string
645
646const (
647	// TrailingSeparatorPolicyMandatory ...
648	TrailingSeparatorPolicyMandatory TrailingSeparatorPolicy = "Mandatory"
649	// TrailingSeparatorPolicyNotAllowed ...
650	TrailingSeparatorPolicyNotAllowed TrailingSeparatorPolicy = "NotAllowed"
651	// TrailingSeparatorPolicyNotSpecified ...
652	TrailingSeparatorPolicyNotSpecified TrailingSeparatorPolicy = "NotSpecified"
653	// TrailingSeparatorPolicyOptional ...
654	TrailingSeparatorPolicyOptional TrailingSeparatorPolicy = "Optional"
655)
656
657// PossibleTrailingSeparatorPolicyValues returns an array of possible values for the TrailingSeparatorPolicy const type.
658func PossibleTrailingSeparatorPolicyValues() []TrailingSeparatorPolicy {
659	return []TrailingSeparatorPolicy{TrailingSeparatorPolicyMandatory, TrailingSeparatorPolicyNotAllowed, TrailingSeparatorPolicyNotSpecified, TrailingSeparatorPolicyOptional}
660}
661
662// UsageIndicator enumerates the values for usage indicator.
663type UsageIndicator string
664
665const (
666	// UsageIndicatorInformation ...
667	UsageIndicatorInformation UsageIndicator = "Information"
668	// UsageIndicatorNotSpecified ...
669	UsageIndicatorNotSpecified UsageIndicator = "NotSpecified"
670	// UsageIndicatorProduction ...
671	UsageIndicatorProduction UsageIndicator = "Production"
672	// UsageIndicatorTest ...
673	UsageIndicatorTest UsageIndicator = "Test"
674)
675
676// PossibleUsageIndicatorValues returns an array of possible values for the UsageIndicator const type.
677func PossibleUsageIndicatorValues() []UsageIndicator {
678	return []UsageIndicator{UsageIndicatorInformation, UsageIndicatorNotSpecified, UsageIndicatorProduction, UsageIndicatorTest}
679}
680
681// WorkflowProvisioningState enumerates the values for workflow provisioning state.
682type WorkflowProvisioningState string
683
684const (
685	// WorkflowProvisioningStateAccepted ...
686	WorkflowProvisioningStateAccepted WorkflowProvisioningState = "Accepted"
687	// WorkflowProvisioningStateCanceled ...
688	WorkflowProvisioningStateCanceled WorkflowProvisioningState = "Canceled"
689	// WorkflowProvisioningStateCompleted ...
690	WorkflowProvisioningStateCompleted WorkflowProvisioningState = "Completed"
691	// WorkflowProvisioningStateCreated ...
692	WorkflowProvisioningStateCreated WorkflowProvisioningState = "Created"
693	// WorkflowProvisioningStateCreating ...
694	WorkflowProvisioningStateCreating WorkflowProvisioningState = "Creating"
695	// WorkflowProvisioningStateDeleted ...
696	WorkflowProvisioningStateDeleted WorkflowProvisioningState = "Deleted"
697	// WorkflowProvisioningStateDeleting ...
698	WorkflowProvisioningStateDeleting WorkflowProvisioningState = "Deleting"
699	// WorkflowProvisioningStateFailed ...
700	WorkflowProvisioningStateFailed WorkflowProvisioningState = "Failed"
701	// WorkflowProvisioningStateMoving ...
702	WorkflowProvisioningStateMoving WorkflowProvisioningState = "Moving"
703	// WorkflowProvisioningStateNotSpecified ...
704	WorkflowProvisioningStateNotSpecified WorkflowProvisioningState = "NotSpecified"
705	// WorkflowProvisioningStateReady ...
706	WorkflowProvisioningStateReady WorkflowProvisioningState = "Ready"
707	// WorkflowProvisioningStateRegistered ...
708	WorkflowProvisioningStateRegistered WorkflowProvisioningState = "Registered"
709	// WorkflowProvisioningStateRegistering ...
710	WorkflowProvisioningStateRegistering WorkflowProvisioningState = "Registering"
711	// WorkflowProvisioningStateRunning ...
712	WorkflowProvisioningStateRunning WorkflowProvisioningState = "Running"
713	// WorkflowProvisioningStateSucceeded ...
714	WorkflowProvisioningStateSucceeded WorkflowProvisioningState = "Succeeded"
715	// WorkflowProvisioningStateUnregistered ...
716	WorkflowProvisioningStateUnregistered WorkflowProvisioningState = "Unregistered"
717	// WorkflowProvisioningStateUnregistering ...
718	WorkflowProvisioningStateUnregistering WorkflowProvisioningState = "Unregistering"
719	// WorkflowProvisioningStateUpdating ...
720	WorkflowProvisioningStateUpdating WorkflowProvisioningState = "Updating"
721)
722
723// PossibleWorkflowProvisioningStateValues returns an array of possible values for the WorkflowProvisioningState const type.
724func PossibleWorkflowProvisioningStateValues() []WorkflowProvisioningState {
725	return []WorkflowProvisioningState{WorkflowProvisioningStateAccepted, WorkflowProvisioningStateCanceled, WorkflowProvisioningStateCompleted, WorkflowProvisioningStateCreated, WorkflowProvisioningStateCreating, WorkflowProvisioningStateDeleted, WorkflowProvisioningStateDeleting, WorkflowProvisioningStateFailed, WorkflowProvisioningStateMoving, WorkflowProvisioningStateNotSpecified, WorkflowProvisioningStateReady, WorkflowProvisioningStateRegistered, WorkflowProvisioningStateRegistering, WorkflowProvisioningStateRunning, WorkflowProvisioningStateSucceeded, WorkflowProvisioningStateUnregistered, WorkflowProvisioningStateUnregistering, WorkflowProvisioningStateUpdating}
726}
727
728// WorkflowState enumerates the values for workflow state.
729type WorkflowState string
730
731const (
732	// WorkflowStateCompleted ...
733	WorkflowStateCompleted WorkflowState = "Completed"
734	// WorkflowStateDeleted ...
735	WorkflowStateDeleted WorkflowState = "Deleted"
736	// WorkflowStateDisabled ...
737	WorkflowStateDisabled WorkflowState = "Disabled"
738	// WorkflowStateEnabled ...
739	WorkflowStateEnabled WorkflowState = "Enabled"
740	// WorkflowStateNotSpecified ...
741	WorkflowStateNotSpecified WorkflowState = "NotSpecified"
742	// WorkflowStateSuspended ...
743	WorkflowStateSuspended WorkflowState = "Suspended"
744)
745
746// PossibleWorkflowStateValues returns an array of possible values for the WorkflowState const type.
747func PossibleWorkflowStateValues() []WorkflowState {
748	return []WorkflowState{WorkflowStateCompleted, WorkflowStateDeleted, WorkflowStateDisabled, WorkflowStateEnabled, WorkflowStateNotSpecified, WorkflowStateSuspended}
749}
750
751// WorkflowStatus enumerates the values for workflow status.
752type WorkflowStatus string
753
754const (
755	// WorkflowStatusAborted ...
756	WorkflowStatusAborted WorkflowStatus = "Aborted"
757	// WorkflowStatusCancelled ...
758	WorkflowStatusCancelled WorkflowStatus = "Cancelled"
759	// WorkflowStatusFailed ...
760	WorkflowStatusFailed WorkflowStatus = "Failed"
761	// WorkflowStatusFaulted ...
762	WorkflowStatusFaulted WorkflowStatus = "Faulted"
763	// WorkflowStatusIgnored ...
764	WorkflowStatusIgnored WorkflowStatus = "Ignored"
765	// WorkflowStatusNotSpecified ...
766	WorkflowStatusNotSpecified WorkflowStatus = "NotSpecified"
767	// WorkflowStatusPaused ...
768	WorkflowStatusPaused WorkflowStatus = "Paused"
769	// WorkflowStatusRunning ...
770	WorkflowStatusRunning WorkflowStatus = "Running"
771	// WorkflowStatusSkipped ...
772	WorkflowStatusSkipped WorkflowStatus = "Skipped"
773	// WorkflowStatusSucceeded ...
774	WorkflowStatusSucceeded WorkflowStatus = "Succeeded"
775	// WorkflowStatusSuspended ...
776	WorkflowStatusSuspended WorkflowStatus = "Suspended"
777	// WorkflowStatusTimedOut ...
778	WorkflowStatusTimedOut WorkflowStatus = "TimedOut"
779	// WorkflowStatusWaiting ...
780	WorkflowStatusWaiting WorkflowStatus = "Waiting"
781)
782
783// PossibleWorkflowStatusValues returns an array of possible values for the WorkflowStatus const type.
784func PossibleWorkflowStatusValues() []WorkflowStatus {
785	return []WorkflowStatus{WorkflowStatusAborted, WorkflowStatusCancelled, WorkflowStatusFailed, WorkflowStatusFaulted, WorkflowStatusIgnored, WorkflowStatusNotSpecified, WorkflowStatusPaused, WorkflowStatusRunning, WorkflowStatusSkipped, WorkflowStatusSucceeded, WorkflowStatusSuspended, WorkflowStatusTimedOut, WorkflowStatusWaiting}
786}
787
788// WorkflowTriggerProvisioningState enumerates the values for workflow trigger provisioning state.
789type WorkflowTriggerProvisioningState string
790
791const (
792	// WorkflowTriggerProvisioningStateAccepted ...
793	WorkflowTriggerProvisioningStateAccepted WorkflowTriggerProvisioningState = "Accepted"
794	// WorkflowTriggerProvisioningStateCanceled ...
795	WorkflowTriggerProvisioningStateCanceled WorkflowTriggerProvisioningState = "Canceled"
796	// WorkflowTriggerProvisioningStateCompleted ...
797	WorkflowTriggerProvisioningStateCompleted WorkflowTriggerProvisioningState = "Completed"
798	// WorkflowTriggerProvisioningStateCreated ...
799	WorkflowTriggerProvisioningStateCreated WorkflowTriggerProvisioningState = "Created"
800	// WorkflowTriggerProvisioningStateCreating ...
801	WorkflowTriggerProvisioningStateCreating WorkflowTriggerProvisioningState = "Creating"
802	// WorkflowTriggerProvisioningStateDeleted ...
803	WorkflowTriggerProvisioningStateDeleted WorkflowTriggerProvisioningState = "Deleted"
804	// WorkflowTriggerProvisioningStateDeleting ...
805	WorkflowTriggerProvisioningStateDeleting WorkflowTriggerProvisioningState = "Deleting"
806	// WorkflowTriggerProvisioningStateFailed ...
807	WorkflowTriggerProvisioningStateFailed WorkflowTriggerProvisioningState = "Failed"
808	// WorkflowTriggerProvisioningStateMoving ...
809	WorkflowTriggerProvisioningStateMoving WorkflowTriggerProvisioningState = "Moving"
810	// WorkflowTriggerProvisioningStateNotSpecified ...
811	WorkflowTriggerProvisioningStateNotSpecified WorkflowTriggerProvisioningState = "NotSpecified"
812	// WorkflowTriggerProvisioningStateReady ...
813	WorkflowTriggerProvisioningStateReady WorkflowTriggerProvisioningState = "Ready"
814	// WorkflowTriggerProvisioningStateRegistered ...
815	WorkflowTriggerProvisioningStateRegistered WorkflowTriggerProvisioningState = "Registered"
816	// WorkflowTriggerProvisioningStateRegistering ...
817	WorkflowTriggerProvisioningStateRegistering WorkflowTriggerProvisioningState = "Registering"
818	// WorkflowTriggerProvisioningStateRunning ...
819	WorkflowTriggerProvisioningStateRunning WorkflowTriggerProvisioningState = "Running"
820	// WorkflowTriggerProvisioningStateSucceeded ...
821	WorkflowTriggerProvisioningStateSucceeded WorkflowTriggerProvisioningState = "Succeeded"
822	// WorkflowTriggerProvisioningStateUnregistered ...
823	WorkflowTriggerProvisioningStateUnregistered WorkflowTriggerProvisioningState = "Unregistered"
824	// WorkflowTriggerProvisioningStateUnregistering ...
825	WorkflowTriggerProvisioningStateUnregistering WorkflowTriggerProvisioningState = "Unregistering"
826	// WorkflowTriggerProvisioningStateUpdating ...
827	WorkflowTriggerProvisioningStateUpdating WorkflowTriggerProvisioningState = "Updating"
828)
829
830// PossibleWorkflowTriggerProvisioningStateValues returns an array of possible values for the WorkflowTriggerProvisioningState const type.
831func PossibleWorkflowTriggerProvisioningStateValues() []WorkflowTriggerProvisioningState {
832	return []WorkflowTriggerProvisioningState{WorkflowTriggerProvisioningStateAccepted, WorkflowTriggerProvisioningStateCanceled, WorkflowTriggerProvisioningStateCompleted, WorkflowTriggerProvisioningStateCreated, WorkflowTriggerProvisioningStateCreating, WorkflowTriggerProvisioningStateDeleted, WorkflowTriggerProvisioningStateDeleting, WorkflowTriggerProvisioningStateFailed, WorkflowTriggerProvisioningStateMoving, WorkflowTriggerProvisioningStateNotSpecified, WorkflowTriggerProvisioningStateReady, WorkflowTriggerProvisioningStateRegistered, WorkflowTriggerProvisioningStateRegistering, WorkflowTriggerProvisioningStateRunning, WorkflowTriggerProvisioningStateSucceeded, WorkflowTriggerProvisioningStateUnregistered, WorkflowTriggerProvisioningStateUnregistering, WorkflowTriggerProvisioningStateUpdating}
833}
834
835// X12CharacterSet enumerates the values for x12 character set.
836type X12CharacterSet string
837
838const (
839	// X12CharacterSetBasic ...
840	X12CharacterSetBasic X12CharacterSet = "Basic"
841	// X12CharacterSetExtended ...
842	X12CharacterSetExtended X12CharacterSet = "Extended"
843	// X12CharacterSetNotSpecified ...
844	X12CharacterSetNotSpecified X12CharacterSet = "NotSpecified"
845	// X12CharacterSetUTF8 ...
846	X12CharacterSetUTF8 X12CharacterSet = "UTF8"
847)
848
849// PossibleX12CharacterSetValues returns an array of possible values for the X12CharacterSet const type.
850func PossibleX12CharacterSetValues() []X12CharacterSet {
851	return []X12CharacterSet{X12CharacterSetBasic, X12CharacterSetExtended, X12CharacterSetNotSpecified, X12CharacterSetUTF8}
852}
853
854// X12DateFormat enumerates the values for x12 date format.
855type X12DateFormat string
856
857const (
858	// X12DateFormatCCYYMMDD ...
859	X12DateFormatCCYYMMDD X12DateFormat = "CCYYMMDD"
860	// X12DateFormatNotSpecified ...
861	X12DateFormatNotSpecified X12DateFormat = "NotSpecified"
862	// X12DateFormatYYMMDD ...
863	X12DateFormatYYMMDD X12DateFormat = "YYMMDD"
864)
865
866// PossibleX12DateFormatValues returns an array of possible values for the X12DateFormat const type.
867func PossibleX12DateFormatValues() []X12DateFormat {
868	return []X12DateFormat{X12DateFormatCCYYMMDD, X12DateFormatNotSpecified, X12DateFormatYYMMDD}
869}
870
871// X12TimeFormat enumerates the values for x12 time format.
872type X12TimeFormat string
873
874const (
875	// X12TimeFormatHHMM ...
876	X12TimeFormatHHMM X12TimeFormat = "HHMM"
877	// X12TimeFormatHHMMSS ...
878	X12TimeFormatHHMMSS X12TimeFormat = "HHMMSS"
879	// X12TimeFormatHHMMSSd ...
880	X12TimeFormatHHMMSSd X12TimeFormat = "HHMMSSd"
881	// X12TimeFormatHHMMSSdd ...
882	X12TimeFormatHHMMSSdd X12TimeFormat = "HHMMSSdd"
883	// X12TimeFormatNotSpecified ...
884	X12TimeFormatNotSpecified X12TimeFormat = "NotSpecified"
885)
886
887// PossibleX12TimeFormatValues returns an array of possible values for the X12TimeFormat const type.
888func PossibleX12TimeFormatValues() []X12TimeFormat {
889	return []X12TimeFormat{X12TimeFormatHHMM, X12TimeFormatHHMMSS, X12TimeFormatHHMMSSd, X12TimeFormatHHMMSSdd, X12TimeFormatNotSpecified}
890}
891
892// AccessKeyRegenerateActionDefinition ...
893type AccessKeyRegenerateActionDefinition struct {
894	// KeyType - Possible values include: 'NotSpecified', 'Primary', 'Secondary'
895	KeyType AccessKeyType `json:"keyType,omitempty"`
896}
897
898// AgreementContent the integration account agreement content.
899type AgreementContent struct {
900	// AS2 - The AS2 agreement content.
901	AS2 *AS2AgreementContent `json:"aS2,omitempty"`
902	// X12 - The X12 agreement content.
903	X12 *X12AgreementContent `json:"x12,omitempty"`
904	// Edifact - The EDIFACT agreement content.
905	Edifact *EdifactAgreementContent `json:"edifact,omitempty"`
906}
907
908// ArtifactContentPropertiesDefinition the artifact content properties definition.
909type ArtifactContentPropertiesDefinition struct {
910	Content interface{} `json:"content,omitempty"`
911	// ContentType - The content type.
912	ContentType *string `json:"contentType,omitempty"`
913	// ContentLink - The content link.
914	ContentLink *ContentLink `json:"contentLink,omitempty"`
915	// CreatedTime - The artifact creation time.
916	CreatedTime *date.Time `json:"createdTime,omitempty"`
917	// ChangedTime - The artifact changed time.
918	ChangedTime *date.Time  `json:"changedTime,omitempty"`
919	Metadata    interface{} `json:"metadata,omitempty"`
920}
921
922// ArtifactProperties the artifact properties definition.
923type ArtifactProperties struct {
924	// CreatedTime - The artifact creation time.
925	CreatedTime *date.Time `json:"createdTime,omitempty"`
926	// ChangedTime - The artifact changed time.
927	ChangedTime *date.Time  `json:"changedTime,omitempty"`
928	Metadata    interface{} `json:"metadata,omitempty"`
929}
930
931// AS2AcknowledgementConnectionSettings the AS2 agreement acknowledgement connection settings.
932type AS2AcknowledgementConnectionSettings struct {
933	// IgnoreCertificateNameMismatch - The value indicating whether to ignore mismatch in certificate name.
934	IgnoreCertificateNameMismatch *bool `json:"ignoreCertificateNameMismatch,omitempty"`
935	// SupportHTTPStatusCodeContinue - The value indicating whether to support HTTP status code 'CONTINUE'.
936	SupportHTTPStatusCodeContinue *bool `json:"supportHttpStatusCodeContinue,omitempty"`
937	// KeepHTTPConnectionAlive - The value indicating whether to keep the connection alive.
938	KeepHTTPConnectionAlive *bool `json:"keepHttpConnectionAlive,omitempty"`
939	// UnfoldHTTPHeaders - The value indicating whether to unfold the HTTP headers.
940	UnfoldHTTPHeaders *bool `json:"unfoldHttpHeaders,omitempty"`
941}
942
943// AS2AgreementContent the integration account AS2 agreement content.
944type AS2AgreementContent struct {
945	// ReceiveAgreement - The AS2 one-way receive agreement.
946	ReceiveAgreement *AS2OneWayAgreement `json:"receiveAgreement,omitempty"`
947	// SendAgreement - The AS2 one-way send agreement.
948	SendAgreement *AS2OneWayAgreement `json:"sendAgreement,omitempty"`
949}
950
951// AS2EnvelopeSettings the AS2 agreement envelope settings.
952type AS2EnvelopeSettings struct {
953	// MessageContentType - The message content type.
954	MessageContentType *string `json:"messageContentType,omitempty"`
955	// TransmitFileNameInMimeHeader - The value indicating whether to transmit file name in mime header.
956	TransmitFileNameInMimeHeader *bool `json:"transmitFileNameInMimeHeader,omitempty"`
957	// FileNameTemplate - The template for file name.
958	FileNameTemplate *string `json:"fileNameTemplate,omitempty"`
959	// SuspendMessageOnFileNameGenerationError - The value indicating whether to suspend message on file name generation error.
960	SuspendMessageOnFileNameGenerationError *bool `json:"suspendMessageOnFileNameGenerationError,omitempty"`
961	// AutogenerateFileName - The value indicating whether to auto generate file name.
962	AutogenerateFileName *bool `json:"autogenerateFileName,omitempty"`
963}
964
965// AS2ErrorSettings the AS2 agreement error settings.
966type AS2ErrorSettings struct {
967	// SuspendDuplicateMessage - The value indicating whether to suspend duplicate message.
968	SuspendDuplicateMessage *bool `json:"suspendDuplicateMessage,omitempty"`
969	// ResendIfMdnNotReceived - The value indicating whether to resend message If MDN is not received.
970	ResendIfMdnNotReceived *bool `json:"resendIfMdnNotReceived,omitempty"`
971}
972
973// AS2MdnSettings the AS2 agreement mdn settings.
974type AS2MdnSettings struct {
975	// NeedMdn - The value indicating whether to send or request a MDN.
976	NeedMdn *bool `json:"needMdn,omitempty"`
977	// SignMdn - The value indicating whether the MDN needs to be signed or not.
978	SignMdn *bool `json:"signMdn,omitempty"`
979	// SendMdnAsynchronously - The value indicating whether to send the asynchronous MDN.
980	SendMdnAsynchronously *bool `json:"sendMdnAsynchronously,omitempty"`
981	// ReceiptDeliveryURL - The receipt delivery URL.
982	ReceiptDeliveryURL *string `json:"receiptDeliveryUrl,omitempty"`
983	// DispositionNotificationTo - The disposition notification to header value.
984	DispositionNotificationTo *string `json:"dispositionNotificationTo,omitempty"`
985	// SignOutboundMdnIfOptional - The value indicating whether to sign the outbound MDN if optional.
986	SignOutboundMdnIfOptional *bool `json:"signOutboundMdnIfOptional,omitempty"`
987	// MdnText - The MDN text.
988	MdnText *string `json:"mdnText,omitempty"`
989	// SendInboundMdnToMessageBox - The value indicating whether to send inbound MDN to message box.
990	SendInboundMdnToMessageBox *bool `json:"sendInboundMdnToMessageBox,omitempty"`
991	// MicHashingAlgorithm - The signing or hashing algorithm. Possible values include: 'HashingAlgorithmNotSpecified', 'HashingAlgorithmNone', 'HashingAlgorithmMD5', 'HashingAlgorithmSHA1', 'HashingAlgorithmSHA2256', 'HashingAlgorithmSHA2384', 'HashingAlgorithmSHA2512'
992	MicHashingAlgorithm HashingAlgorithm `json:"micHashingAlgorithm,omitempty"`
993}
994
995// AS2MessageConnectionSettings the AS2 agreement message connection settings.
996type AS2MessageConnectionSettings struct {
997	// IgnoreCertificateNameMismatch - The value indicating whether to ignore mismatch in certificate name.
998	IgnoreCertificateNameMismatch *bool `json:"ignoreCertificateNameMismatch,omitempty"`
999	// SupportHTTPStatusCodeContinue - The value indicating whether to support HTTP status code 'CONTINUE'.
1000	SupportHTTPStatusCodeContinue *bool `json:"supportHttpStatusCodeContinue,omitempty"`
1001	// KeepHTTPConnectionAlive - The value indicating whether to keep the connection alive.
1002	KeepHTTPConnectionAlive *bool `json:"keepHttpConnectionAlive,omitempty"`
1003	// UnfoldHTTPHeaders - The value indicating whether to unfold the HTTP headers.
1004	UnfoldHTTPHeaders *bool `json:"unfoldHttpHeaders,omitempty"`
1005}
1006
1007// AS2OneWayAgreement the integration account AS2 one-way agreement.
1008type AS2OneWayAgreement struct {
1009	// SenderBusinessIdentity - The sender business identity
1010	SenderBusinessIdentity *BusinessIdentity `json:"senderBusinessIdentity,omitempty"`
1011	// ReceiverBusinessIdentity - The receiver business identity
1012	ReceiverBusinessIdentity *BusinessIdentity `json:"receiverBusinessIdentity,omitempty"`
1013	// ProtocolSettings - The AS2 protocol settings.
1014	ProtocolSettings *AS2ProtocolSettings `json:"protocolSettings,omitempty"`
1015}
1016
1017// AS2ProtocolSettings the AS2 agreement protocol settings.
1018type AS2ProtocolSettings struct {
1019	// MessageConnectionSettings - The message connection settings.
1020	MessageConnectionSettings *AS2MessageConnectionSettings `json:"messageConnectionSettings,omitempty"`
1021	// AcknowledgementConnectionSettings - The acknowledgement connection settings.
1022	AcknowledgementConnectionSettings *AS2AcknowledgementConnectionSettings `json:"acknowledgementConnectionSettings,omitempty"`
1023	// MdnSettings - The MDN settings.
1024	MdnSettings *AS2MdnSettings `json:"mdnSettings,omitempty"`
1025	// SecuritySettings - The security settings.
1026	SecuritySettings *AS2SecuritySettings `json:"securitySettings,omitempty"`
1027	// ValidationSettings - The validation settings.
1028	ValidationSettings *AS2ValidationSettings `json:"validationSettings,omitempty"`
1029	// EnvelopeSettings - The envelope settings.
1030	EnvelopeSettings *AS2EnvelopeSettings `json:"envelopeSettings,omitempty"`
1031	// ErrorSettings - The error settings.
1032	ErrorSettings *AS2ErrorSettings `json:"errorSettings,omitempty"`
1033}
1034
1035// AS2SecuritySettings the AS2 agreement security settings.
1036type AS2SecuritySettings struct {
1037	// OverrideGroupSigningCertificate - The value indicating whether to send or request a MDN.
1038	OverrideGroupSigningCertificate *bool `json:"overrideGroupSigningCertificate,omitempty"`
1039	// SigningCertificateName - The name of the signing certificate.
1040	SigningCertificateName *string `json:"signingCertificateName,omitempty"`
1041	// EncryptionCertificateName - The name of the encryption certificate.
1042	EncryptionCertificateName *string `json:"encryptionCertificateName,omitempty"`
1043	// EnableNrrForInboundEncodedMessages - The value indicating whether to enable NRR for inbound encoded messages.
1044	EnableNrrForInboundEncodedMessages *bool `json:"enableNrrForInboundEncodedMessages,omitempty"`
1045	// EnableNrrForInboundDecodedMessages - The value indicating whether to enable NRR for inbound decoded messages.
1046	EnableNrrForInboundDecodedMessages *bool `json:"enableNrrForInboundDecodedMessages,omitempty"`
1047	// EnableNrrForOutboundMdn - The value indicating whether to enable NRR for outbound MDN.
1048	EnableNrrForOutboundMdn *bool `json:"enableNrrForOutboundMdn,omitempty"`
1049	// EnableNrrForOutboundEncodedMessages - The value indicating whether to enable NRR for outbound encoded messages.
1050	EnableNrrForOutboundEncodedMessages *bool `json:"enableNrrForOutboundEncodedMessages,omitempty"`
1051	// EnableNrrForOutboundDecodedMessages - The value indicating whether to enable NRR for outbound decoded messages.
1052	EnableNrrForOutboundDecodedMessages *bool `json:"enableNrrForOutboundDecodedMessages,omitempty"`
1053	// EnableNrrForInboundMdn - The value indicating whether to enable NRR for inbound MDN.
1054	EnableNrrForInboundMdn *bool `json:"enableNrrForInboundMdn,omitempty"`
1055	// Sha2AlgorithmFormat - The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize.
1056	Sha2AlgorithmFormat *string `json:"sha2AlgorithmFormat,omitempty"`
1057}
1058
1059// AS2ValidationSettings the AS2 agreement validation settings.
1060type AS2ValidationSettings struct {
1061	// OverrideMessageProperties - The value indicating whether to override incoming message properties with those in agreement.
1062	OverrideMessageProperties *bool `json:"overrideMessageProperties,omitempty"`
1063	// EncryptMessage - The value indicating whether the message has to be encrypted.
1064	EncryptMessage *bool `json:"encryptMessage,omitempty"`
1065	// SignMessage - The value indicating whether the message has to be signed.
1066	SignMessage *bool `json:"signMessage,omitempty"`
1067	// CompressMessage - The value indicating whether the message has to be compressed.
1068	CompressMessage *bool `json:"compressMessage,omitempty"`
1069	// CheckDuplicateMessage - The value indicating whether to check for duplicate message.
1070	CheckDuplicateMessage *bool `json:"checkDuplicateMessage,omitempty"`
1071	// InterchangeDuplicatesValidityDays - The number of days to look back for duplicate interchange.
1072	InterchangeDuplicatesValidityDays *int32 `json:"interchangeDuplicatesValidityDays,omitempty"`
1073	// CheckCertificateRevocationListOnSend - The value indicating whether to check for certificate revocation list on send.
1074	CheckCertificateRevocationListOnSend *bool `json:"checkCertificateRevocationListOnSend,omitempty"`
1075	// CheckCertificateRevocationListOnReceive - The value indicating whether to check for certificate revocation list on receive.
1076	CheckCertificateRevocationListOnReceive *bool `json:"checkCertificateRevocationListOnReceive,omitempty"`
1077	// EncryptionAlgorithm - The encryption algorithm. Possible values include: 'EncryptionAlgorithmNotSpecified', 'EncryptionAlgorithmNone', 'EncryptionAlgorithmDES3', 'EncryptionAlgorithmRC2', 'EncryptionAlgorithmAES128', 'EncryptionAlgorithmAES192', 'EncryptionAlgorithmAES256'
1078	EncryptionAlgorithm EncryptionAlgorithm `json:"encryptionAlgorithm,omitempty"`
1079	// SigningAlgorithm - The signing algorithm. Possible values include: 'SigningAlgorithmNotSpecified', 'SigningAlgorithmDefault', 'SigningAlgorithmSHA1', 'SigningAlgorithmSHA2256', 'SigningAlgorithmSHA2384', 'SigningAlgorithmSHA2512'
1080	SigningAlgorithm SigningAlgorithm `json:"signingAlgorithm,omitempty"`
1081}
1082
1083// AssemblyCollection a collection of assembly definitions.
1084type AssemblyCollection struct {
1085	autorest.Response `json:"-"`
1086	Value             *[]AssemblyDefinition `json:"value,omitempty"`
1087}
1088
1089// AssemblyDefinition the assembly definition.
1090type AssemblyDefinition struct {
1091	autorest.Response `json:"-"`
1092	// Properties - The assembly properties.
1093	Properties *AssemblyProperties `json:"properties,omitempty"`
1094	// ID - READ-ONLY; The resource id.
1095	ID *string `json:"id,omitempty"`
1096	// Name - READ-ONLY; Gets the resource name.
1097	Name *string `json:"name,omitempty"`
1098	// Type - READ-ONLY; Gets the resource type.
1099	Type *string `json:"type,omitempty"`
1100	// Location - The resource location.
1101	Location *string `json:"location,omitempty"`
1102	// Tags - The resource tags.
1103	Tags map[string]*string `json:"tags"`
1104}
1105
1106// MarshalJSON is the custom marshaler for AssemblyDefinition.
1107func (ad AssemblyDefinition) MarshalJSON() ([]byte, error) {
1108	objectMap := make(map[string]interface{})
1109	if ad.Properties != nil {
1110		objectMap["properties"] = ad.Properties
1111	}
1112	if ad.Location != nil {
1113		objectMap["location"] = ad.Location
1114	}
1115	if ad.Tags != nil {
1116		objectMap["tags"] = ad.Tags
1117	}
1118	return json.Marshal(objectMap)
1119}
1120
1121// AssemblyProperties the assembly properties definition.
1122type AssemblyProperties struct {
1123	// AssemblyName - The assembly name.
1124	AssemblyName *string `json:"assemblyName,omitempty"`
1125	// AssemblyVersion - The assembly version.
1126	AssemblyVersion *string `json:"assemblyVersion,omitempty"`
1127	// AssemblyCulture - The assembly culture.
1128	AssemblyCulture *string `json:"assemblyCulture,omitempty"`
1129	// AssemblyPublicKeyToken - The assembly public key token.
1130	AssemblyPublicKeyToken *string     `json:"assemblyPublicKeyToken,omitempty"`
1131	Content                interface{} `json:"content,omitempty"`
1132	// ContentType - The content type.
1133	ContentType *string `json:"contentType,omitempty"`
1134	// ContentLink - The content link.
1135	ContentLink *ContentLink `json:"contentLink,omitempty"`
1136	// CreatedTime - The artifact creation time.
1137	CreatedTime *date.Time `json:"createdTime,omitempty"`
1138	// ChangedTime - The artifact changed time.
1139	ChangedTime *date.Time  `json:"changedTime,omitempty"`
1140	Metadata    interface{} `json:"metadata,omitempty"`
1141}
1142
1143// AzureResourceErrorInfo the azure resource error info.
1144type AzureResourceErrorInfo struct {
1145	// Message - The error message.
1146	Message *string `json:"message,omitempty"`
1147	// Details - The error details.
1148	Details *[]AzureResourceErrorInfo `json:"details,omitempty"`
1149	// Code - The error code.
1150	Code *string `json:"code,omitempty"`
1151}
1152
1153// B2BPartnerContent the B2B partner content.
1154type B2BPartnerContent struct {
1155	// BusinessIdentities - The list of partner business identities.
1156	BusinessIdentities *[]BusinessIdentity `json:"businessIdentities,omitempty"`
1157}
1158
1159// BatchConfiguration the batch configuration resource definition.
1160type BatchConfiguration struct {
1161	autorest.Response `json:"-"`
1162	// Properties - The batch configuration properties.
1163	Properties *BatchConfigurationProperties `json:"properties,omitempty"`
1164	// ID - READ-ONLY; The resource id.
1165	ID *string `json:"id,omitempty"`
1166	// Name - READ-ONLY; Gets the resource name.
1167	Name *string `json:"name,omitempty"`
1168	// Type - READ-ONLY; Gets the resource type.
1169	Type *string `json:"type,omitempty"`
1170	// Location - The resource location.
1171	Location *string `json:"location,omitempty"`
1172	// Tags - The resource tags.
1173	Tags map[string]*string `json:"tags"`
1174}
1175
1176// MarshalJSON is the custom marshaler for BatchConfiguration.
1177func (bc BatchConfiguration) MarshalJSON() ([]byte, error) {
1178	objectMap := make(map[string]interface{})
1179	if bc.Properties != nil {
1180		objectMap["properties"] = bc.Properties
1181	}
1182	if bc.Location != nil {
1183		objectMap["location"] = bc.Location
1184	}
1185	if bc.Tags != nil {
1186		objectMap["tags"] = bc.Tags
1187	}
1188	return json.Marshal(objectMap)
1189}
1190
1191// BatchConfigurationCollection a collection of batch configurations.
1192type BatchConfigurationCollection struct {
1193	autorest.Response `json:"-"`
1194	Value             *[]BatchConfiguration `json:"value,omitempty"`
1195}
1196
1197// BatchConfigurationProperties the batch configuration properties definition.
1198type BatchConfigurationProperties struct {
1199	// BatchGroupName - The name of the batch group.
1200	BatchGroupName *string `json:"batchGroupName,omitempty"`
1201	// ReleaseCriteria - The batch release criteria.
1202	ReleaseCriteria *BatchReleaseCriteria `json:"releaseCriteria,omitempty"`
1203	// CreatedTime - The artifact creation time.
1204	CreatedTime *date.Time `json:"createdTime,omitempty"`
1205	// ChangedTime - The artifact changed time.
1206	ChangedTime *date.Time  `json:"changedTime,omitempty"`
1207	Metadata    interface{} `json:"metadata,omitempty"`
1208}
1209
1210// BatchReleaseCriteria the batch release criteria.
1211type BatchReleaseCriteria struct {
1212	// MessageCount - The message count.
1213	MessageCount *int32 `json:"messageCount,omitempty"`
1214	// BatchSize - The batch size in bytes.
1215	BatchSize *int32 `json:"batchSize,omitempty"`
1216	// Recurrence - The recurrence.
1217	Recurrence *WorkflowTriggerRecurrence `json:"recurrence,omitempty"`
1218}
1219
1220// BusinessIdentity the integration account partner's business identity.
1221type BusinessIdentity struct {
1222	// Qualifier - The business identity qualifier e.g. as2identity, ZZ, ZZZ, 31, 32
1223	Qualifier *string `json:"qualifier,omitempty"`
1224	// Value - The user defined business identity value.
1225	Value *string `json:"value,omitempty"`
1226}
1227
1228// CallbackURL the callback url.
1229type CallbackURL struct {
1230	autorest.Response `json:"-"`
1231	// Value - The URL value.
1232	Value *string `json:"value,omitempty"`
1233}
1234
1235// ContentHash the content hash.
1236type ContentHash struct {
1237	// Algorithm - The algorithm of the content hash.
1238	Algorithm *string `json:"algorithm,omitempty"`
1239	// Value - The value of the content hash.
1240	Value *string `json:"value,omitempty"`
1241}
1242
1243// ContentLink the content link.
1244type ContentLink struct {
1245	// URI - The content link URI.
1246	URI *string `json:"uri,omitempty"`
1247	// ContentVersion - The content version.
1248	ContentVersion *string `json:"contentVersion,omitempty"`
1249	// ContentSize - The content size.
1250	ContentSize *int64 `json:"contentSize,omitempty"`
1251	// ContentHash - The content hash.
1252	ContentHash *ContentHash `json:"contentHash,omitempty"`
1253	// Metadata - The metadata.
1254	Metadata interface{} `json:"metadata,omitempty"`
1255}
1256
1257// Correlation the correlation property.
1258type Correlation struct {
1259	// ClientTrackingID - The client tracking id.
1260	ClientTrackingID *string `json:"clientTrackingId,omitempty"`
1261}
1262
1263// EdifactAcknowledgementSettings the Edifact agreement acknowledgement settings.
1264type EdifactAcknowledgementSettings struct {
1265	// NeedTechnicalAcknowledgement - The value indicating whether technical acknowledgement is needed.
1266	NeedTechnicalAcknowledgement *bool `json:"needTechnicalAcknowledgement,omitempty"`
1267	// BatchTechnicalAcknowledgements - The value indicating whether to batch the technical acknowledgements.
1268	BatchTechnicalAcknowledgements *bool `json:"batchTechnicalAcknowledgements,omitempty"`
1269	// NeedFunctionalAcknowledgement - The value indicating whether functional acknowledgement is needed.
1270	NeedFunctionalAcknowledgement *bool `json:"needFunctionalAcknowledgement,omitempty"`
1271	// BatchFunctionalAcknowledgements - The value indicating whether to batch functional acknowledgements.
1272	BatchFunctionalAcknowledgements *bool `json:"batchFunctionalAcknowledgements,omitempty"`
1273	// NeedLoopForValidMessages - The value indicating whether a loop is needed for valid messages.
1274	NeedLoopForValidMessages *bool `json:"needLoopForValidMessages,omitempty"`
1275	// SendSynchronousAcknowledgement - The value indicating whether to send synchronous acknowledgement.
1276	SendSynchronousAcknowledgement *bool `json:"sendSynchronousAcknowledgement,omitempty"`
1277	// AcknowledgementControlNumberPrefix - The acknowledgement control number prefix.
1278	AcknowledgementControlNumberPrefix *string `json:"acknowledgementControlNumberPrefix,omitempty"`
1279	// AcknowledgementControlNumberSuffix - The acknowledgement control number suffix.
1280	AcknowledgementControlNumberSuffix *string `json:"acknowledgementControlNumberSuffix,omitempty"`
1281	// AcknowledgementControlNumberLowerBound - The acknowledgement control number lower bound.
1282	AcknowledgementControlNumberLowerBound *int32 `json:"acknowledgementControlNumberLowerBound,omitempty"`
1283	// AcknowledgementControlNumberUpperBound - The acknowledgement control number upper bound.
1284	AcknowledgementControlNumberUpperBound *int32 `json:"acknowledgementControlNumberUpperBound,omitempty"`
1285	// RolloverAcknowledgementControlNumber - The value indicating whether to rollover acknowledgement control number.
1286	RolloverAcknowledgementControlNumber *bool `json:"rolloverAcknowledgementControlNumber,omitempty"`
1287}
1288
1289// EdifactAgreementContent the Edifact agreement content.
1290type EdifactAgreementContent struct {
1291	// ReceiveAgreement - The EDIFACT one-way receive agreement.
1292	ReceiveAgreement *EdifactOneWayAgreement `json:"receiveAgreement,omitempty"`
1293	// SendAgreement - The EDIFACT one-way send agreement.
1294	SendAgreement *EdifactOneWayAgreement `json:"sendAgreement,omitempty"`
1295}
1296
1297// EdifactDelimiterOverride the Edifact delimiter override settings.
1298type EdifactDelimiterOverride struct {
1299	// MessageID - The message id.
1300	MessageID *string `json:"messageId,omitempty"`
1301	// MessageVersion - The message version.
1302	MessageVersion *string `json:"messageVersion,omitempty"`
1303	// MessageRelease - The message release.
1304	MessageRelease *string `json:"messageRelease,omitempty"`
1305	// DataElementSeparator - The data element separator.
1306	DataElementSeparator *int32 `json:"dataElementSeparator,omitempty"`
1307	// ComponentSeparator - The component separator.
1308	ComponentSeparator *int32 `json:"componentSeparator,omitempty"`
1309	// SegmentTerminator - The segment terminator.
1310	SegmentTerminator *int32 `json:"segmentTerminator,omitempty"`
1311	// RepetitionSeparator - The repetition separator.
1312	RepetitionSeparator *int32 `json:"repetitionSeparator,omitempty"`
1313	// SegmentTerminatorSuffix - The segment terminator suffix. Possible values include: 'SegmentTerminatorSuffixNotSpecified', 'SegmentTerminatorSuffixNone', 'SegmentTerminatorSuffixCR', 'SegmentTerminatorSuffixLF', 'SegmentTerminatorSuffixCRLF'
1314	SegmentTerminatorSuffix SegmentTerminatorSuffix `json:"segmentTerminatorSuffix,omitempty"`
1315	// DecimalPointIndicator - The decimal point indicator. Possible values include: 'EdifactDecimalIndicatorNotSpecified', 'EdifactDecimalIndicatorComma', 'EdifactDecimalIndicatorDecimal'
1316	DecimalPointIndicator EdifactDecimalIndicator `json:"decimalPointIndicator,omitempty"`
1317	// ReleaseIndicator - The release indicator.
1318	ReleaseIndicator *int32 `json:"releaseIndicator,omitempty"`
1319	// MessageAssociationAssignedCode - The message association assigned code.
1320	MessageAssociationAssignedCode *string `json:"messageAssociationAssignedCode,omitempty"`
1321	// TargetNamespace - The target namespace on which this delimiter settings has to be applied.
1322	TargetNamespace *string `json:"targetNamespace,omitempty"`
1323}
1324
1325// EdifactEnvelopeOverride the Edifact envelope override settings.
1326type EdifactEnvelopeOverride struct {
1327	// MessageID - The message id on which this envelope settings has to be applied.
1328	MessageID *string `json:"messageId,omitempty"`
1329	// MessageVersion - The message version on which this envelope settings has to be applied.
1330	MessageVersion *string `json:"messageVersion,omitempty"`
1331	// MessageRelease - The message release version on which this envelope settings has to be applied.
1332	MessageRelease *string `json:"messageRelease,omitempty"`
1333	// MessageAssociationAssignedCode - The message association assigned code.
1334	MessageAssociationAssignedCode *string `json:"messageAssociationAssignedCode,omitempty"`
1335	// TargetNamespace - The target namespace on which this envelope settings has to be applied.
1336	TargetNamespace *string `json:"targetNamespace,omitempty"`
1337	// FunctionalGroupID - The functional group id.
1338	FunctionalGroupID *string `json:"functionalGroupId,omitempty"`
1339	// SenderApplicationQualifier - The sender application qualifier.
1340	SenderApplicationQualifier *string `json:"senderApplicationQualifier,omitempty"`
1341	// SenderApplicationID - The sender application id.
1342	SenderApplicationID *string `json:"senderApplicationId,omitempty"`
1343	// ReceiverApplicationQualifier - The receiver application qualifier.
1344	ReceiverApplicationQualifier *string `json:"receiverApplicationQualifier,omitempty"`
1345	// ReceiverApplicationID - The receiver application id.
1346	ReceiverApplicationID *string `json:"receiverApplicationId,omitempty"`
1347	// ControllingAgencyCode - The controlling agency code.
1348	ControllingAgencyCode *string `json:"controllingAgencyCode,omitempty"`
1349	// GroupHeaderMessageVersion - The group header message version.
1350	GroupHeaderMessageVersion *string `json:"groupHeaderMessageVersion,omitempty"`
1351	// GroupHeaderMessageRelease - The group header message release.
1352	GroupHeaderMessageRelease *string `json:"groupHeaderMessageRelease,omitempty"`
1353	// AssociationAssignedCode - The association assigned code.
1354	AssociationAssignedCode *string `json:"associationAssignedCode,omitempty"`
1355	// ApplicationPassword - The application password.
1356	ApplicationPassword *string `json:"applicationPassword,omitempty"`
1357}
1358
1359// EdifactEnvelopeSettings the Edifact agreement envelope settings.
1360type EdifactEnvelopeSettings struct {
1361	// GroupAssociationAssignedCode - The group association assigned code.
1362	GroupAssociationAssignedCode *string `json:"groupAssociationAssignedCode,omitempty"`
1363	// CommunicationAgreementID - The communication agreement id.
1364	CommunicationAgreementID *string `json:"communicationAgreementId,omitempty"`
1365	// ApplyDelimiterStringAdvice - The value indicating whether to apply delimiter string advice.
1366	ApplyDelimiterStringAdvice *bool `json:"applyDelimiterStringAdvice,omitempty"`
1367	// CreateGroupingSegments - The value indicating whether to create grouping segments.
1368	CreateGroupingSegments *bool `json:"createGroupingSegments,omitempty"`
1369	// EnableDefaultGroupHeaders - The value indicating whether to enable default group headers.
1370	EnableDefaultGroupHeaders *bool `json:"enableDefaultGroupHeaders,omitempty"`
1371	// RecipientReferencePasswordValue - The recipient reference password value.
1372	RecipientReferencePasswordValue *string `json:"recipientReferencePasswordValue,omitempty"`
1373	// RecipientReferencePasswordQualifier - The recipient reference password qualifier.
1374	RecipientReferencePasswordQualifier *string `json:"recipientReferencePasswordQualifier,omitempty"`
1375	// ApplicationReferenceID - The application reference id.
1376	ApplicationReferenceID *string `json:"applicationReferenceId,omitempty"`
1377	// ProcessingPriorityCode - The processing priority code.
1378	ProcessingPriorityCode *string `json:"processingPriorityCode,omitempty"`
1379	// InterchangeControlNumberLowerBound - The interchange control number lower bound.
1380	InterchangeControlNumberLowerBound *int64 `json:"interchangeControlNumberLowerBound,omitempty"`
1381	// InterchangeControlNumberUpperBound - The interchange control number upper bound.
1382	InterchangeControlNumberUpperBound *int64 `json:"interchangeControlNumberUpperBound,omitempty"`
1383	// RolloverInterchangeControlNumber - The value indicating whether to rollover interchange control number.
1384	RolloverInterchangeControlNumber *bool `json:"rolloverInterchangeControlNumber,omitempty"`
1385	// InterchangeControlNumberPrefix - The interchange control number prefix.
1386	InterchangeControlNumberPrefix *string `json:"interchangeControlNumberPrefix,omitempty"`
1387	// InterchangeControlNumberSuffix - The interchange control number suffix.
1388	InterchangeControlNumberSuffix *string `json:"interchangeControlNumberSuffix,omitempty"`
1389	// SenderReverseRoutingAddress - The sender reverse routing address.
1390	SenderReverseRoutingAddress *string `json:"senderReverseRoutingAddress,omitempty"`
1391	// ReceiverReverseRoutingAddress - The receiver reverse routing address.
1392	ReceiverReverseRoutingAddress *string `json:"receiverReverseRoutingAddress,omitempty"`
1393	// FunctionalGroupID - The functional group id.
1394	FunctionalGroupID *string `json:"functionalGroupId,omitempty"`
1395	// GroupControllingAgencyCode - The group controlling agency code.
1396	GroupControllingAgencyCode *string `json:"groupControllingAgencyCode,omitempty"`
1397	// GroupMessageVersion - The group message version.
1398	GroupMessageVersion *string `json:"groupMessageVersion,omitempty"`
1399	// GroupMessageRelease - The group message release.
1400	GroupMessageRelease *string `json:"groupMessageRelease,omitempty"`
1401	// GroupControlNumberLowerBound - The group control number lower bound.
1402	GroupControlNumberLowerBound *int64 `json:"groupControlNumberLowerBound,omitempty"`
1403	// GroupControlNumberUpperBound - The group control number upper bound.
1404	GroupControlNumberUpperBound *int64 `json:"groupControlNumberUpperBound,omitempty"`
1405	// RolloverGroupControlNumber - The value indicating whether to rollover group control number.
1406	RolloverGroupControlNumber *bool `json:"rolloverGroupControlNumber,omitempty"`
1407	// GroupControlNumberPrefix - The group control number prefix.
1408	GroupControlNumberPrefix *string `json:"groupControlNumberPrefix,omitempty"`
1409	// GroupControlNumberSuffix - The group control number suffix.
1410	GroupControlNumberSuffix *string `json:"groupControlNumberSuffix,omitempty"`
1411	// GroupApplicationReceiverQualifier - The group application receiver qualifier.
1412	GroupApplicationReceiverQualifier *string `json:"groupApplicationReceiverQualifier,omitempty"`
1413	// GroupApplicationReceiverID - The group application receiver id.
1414	GroupApplicationReceiverID *string `json:"groupApplicationReceiverId,omitempty"`
1415	// GroupApplicationSenderQualifier - The group application sender qualifier.
1416	GroupApplicationSenderQualifier *string `json:"groupApplicationSenderQualifier,omitempty"`
1417	// GroupApplicationSenderID - The group application sender id.
1418	GroupApplicationSenderID *string `json:"groupApplicationSenderId,omitempty"`
1419	// GroupApplicationPassword - The group application password.
1420	GroupApplicationPassword *string `json:"groupApplicationPassword,omitempty"`
1421	// OverwriteExistingTransactionSetControlNumber - The value indicating whether to overwrite existing transaction set control number.
1422	OverwriteExistingTransactionSetControlNumber *bool `json:"overwriteExistingTransactionSetControlNumber,omitempty"`
1423	// TransactionSetControlNumberPrefix - The transaction set control number prefix.
1424	TransactionSetControlNumberPrefix *string `json:"transactionSetControlNumberPrefix,omitempty"`
1425	// TransactionSetControlNumberSuffix - The transaction set control number suffix.
1426	TransactionSetControlNumberSuffix *string `json:"transactionSetControlNumberSuffix,omitempty"`
1427	// TransactionSetControlNumberLowerBound - The transaction set control number lower bound.
1428	TransactionSetControlNumberLowerBound *int64 `json:"transactionSetControlNumberLowerBound,omitempty"`
1429	// TransactionSetControlNumberUpperBound - The transaction set control number upper bound.
1430	TransactionSetControlNumberUpperBound *int64 `json:"transactionSetControlNumberUpperBound,omitempty"`
1431	// RolloverTransactionSetControlNumber - The value indicating whether to rollover transaction set control number.
1432	RolloverTransactionSetControlNumber *bool `json:"rolloverTransactionSetControlNumber,omitempty"`
1433	// IsTestInterchange - The value indicating whether the message is a test interchange.
1434	IsTestInterchange *bool `json:"isTestInterchange,omitempty"`
1435	// SenderInternalIdentification - The sender internal identification.
1436	SenderInternalIdentification *string `json:"senderInternalIdentification,omitempty"`
1437	// SenderInternalSubIdentification - The sender internal sub identification.
1438	SenderInternalSubIdentification *string `json:"senderInternalSubIdentification,omitempty"`
1439	// ReceiverInternalIdentification - The receiver internal identification.
1440	ReceiverInternalIdentification *string `json:"receiverInternalIdentification,omitempty"`
1441	// ReceiverInternalSubIdentification - The receiver internal sub identification.
1442	ReceiverInternalSubIdentification *string `json:"receiverInternalSubIdentification,omitempty"`
1443}
1444
1445// EdifactFramingSettings the Edifact agreement framing settings.
1446type EdifactFramingSettings struct {
1447	// ServiceCodeListDirectoryVersion - The service code list directory version.
1448	ServiceCodeListDirectoryVersion *string `json:"serviceCodeListDirectoryVersion,omitempty"`
1449	// CharacterEncoding - The character encoding.
1450	CharacterEncoding *string `json:"characterEncoding,omitempty"`
1451	// ProtocolVersion - The protocol version.
1452	ProtocolVersion *int32 `json:"protocolVersion,omitempty"`
1453	// DataElementSeparator - The data element separator.
1454	DataElementSeparator *int32 `json:"dataElementSeparator,omitempty"`
1455	// ComponentSeparator - The component separator.
1456	ComponentSeparator *int32 `json:"componentSeparator,omitempty"`
1457	// SegmentTerminator - The segment terminator.
1458	SegmentTerminator *int32 `json:"segmentTerminator,omitempty"`
1459	// ReleaseIndicator - The release indicator.
1460	ReleaseIndicator *int32 `json:"releaseIndicator,omitempty"`
1461	// RepetitionSeparator - The repetition separator.
1462	RepetitionSeparator *int32 `json:"repetitionSeparator,omitempty"`
1463	// CharacterSet - The EDIFACT frame setting characterSet. Possible values include: 'EdifactCharacterSetNotSpecified', 'EdifactCharacterSetUNOB', 'EdifactCharacterSetUNOA', 'EdifactCharacterSetUNOC', 'EdifactCharacterSetUNOD', 'EdifactCharacterSetUNOE', 'EdifactCharacterSetUNOF', 'EdifactCharacterSetUNOG', 'EdifactCharacterSetUNOH', 'EdifactCharacterSetUNOI', 'EdifactCharacterSetUNOJ', 'EdifactCharacterSetUNOK', 'EdifactCharacterSetUNOX', 'EdifactCharacterSetUNOY', 'EdifactCharacterSetKECA'
1464	CharacterSet EdifactCharacterSet `json:"characterSet,omitempty"`
1465	// DecimalPointIndicator - The EDIFACT frame setting decimal indicator. Possible values include: 'EdifactDecimalIndicatorNotSpecified', 'EdifactDecimalIndicatorComma', 'EdifactDecimalIndicatorDecimal'
1466	DecimalPointIndicator EdifactDecimalIndicator `json:"decimalPointIndicator,omitempty"`
1467	// SegmentTerminatorSuffix - The EDIFACT frame setting segment terminator suffix. Possible values include: 'SegmentTerminatorSuffixNotSpecified', 'SegmentTerminatorSuffixNone', 'SegmentTerminatorSuffixCR', 'SegmentTerminatorSuffixLF', 'SegmentTerminatorSuffixCRLF'
1468	SegmentTerminatorSuffix SegmentTerminatorSuffix `json:"segmentTerminatorSuffix,omitempty"`
1469}
1470
1471// EdifactMessageFilter the Edifact message filter for odata query.
1472type EdifactMessageFilter struct {
1473	// MessageFilterType - The message filter type. Possible values include: 'MessageFilterTypeNotSpecified', 'MessageFilterTypeInclude', 'MessageFilterTypeExclude'
1474	MessageFilterType MessageFilterType `json:"messageFilterType,omitempty"`
1475}
1476
1477// EdifactMessageIdentifier the Edifact message identifier.
1478type EdifactMessageIdentifier struct {
1479	// MessageID - The message id on which this envelope settings has to be applied.
1480	MessageID *string `json:"messageId,omitempty"`
1481}
1482
1483// EdifactOneWayAgreement the Edifact one way agreement.
1484type EdifactOneWayAgreement struct {
1485	// SenderBusinessIdentity - The sender business identity
1486	SenderBusinessIdentity *BusinessIdentity `json:"senderBusinessIdentity,omitempty"`
1487	// ReceiverBusinessIdentity - The receiver business identity
1488	ReceiverBusinessIdentity *BusinessIdentity `json:"receiverBusinessIdentity,omitempty"`
1489	// ProtocolSettings - The EDIFACT protocol settings.
1490	ProtocolSettings *EdifactProtocolSettings `json:"protocolSettings,omitempty"`
1491}
1492
1493// EdifactProcessingSettings the Edifact agreement protocol settings.
1494type EdifactProcessingSettings struct {
1495	// MaskSecurityInfo - The value indicating whether to mask security information.
1496	MaskSecurityInfo *bool `json:"maskSecurityInfo,omitempty"`
1497	// PreserveInterchange - The value indicating whether to preserve interchange.
1498	PreserveInterchange *bool `json:"preserveInterchange,omitempty"`
1499	// SuspendInterchangeOnError - The value indicating whether to suspend interchange on error.
1500	SuspendInterchangeOnError *bool `json:"suspendInterchangeOnError,omitempty"`
1501	// CreateEmptyXMLTagsForTrailingSeparators - The value indicating whether to create empty xml tags for trailing separators.
1502	CreateEmptyXMLTagsForTrailingSeparators *bool `json:"createEmptyXmlTagsForTrailingSeparators,omitempty"`
1503	// UseDotAsDecimalSeparator - The value indicating whether to use dot as decimal separator.
1504	UseDotAsDecimalSeparator *bool `json:"useDotAsDecimalSeparator,omitempty"`
1505}
1506
1507// EdifactProtocolSettings the Edifact agreement protocol settings.
1508type EdifactProtocolSettings struct {
1509	// ValidationSettings - The EDIFACT validation settings.
1510	ValidationSettings *EdifactValidationSettings `json:"validationSettings,omitempty"`
1511	// FramingSettings - The EDIFACT framing settings.
1512	FramingSettings *EdifactFramingSettings `json:"framingSettings,omitempty"`
1513	// EnvelopeSettings - The EDIFACT envelope settings.
1514	EnvelopeSettings *EdifactEnvelopeSettings `json:"envelopeSettings,omitempty"`
1515	// AcknowledgementSettings - The EDIFACT acknowledgement settings.
1516	AcknowledgementSettings *EdifactAcknowledgementSettings `json:"acknowledgementSettings,omitempty"`
1517	// MessageFilter - The EDIFACT message filter.
1518	MessageFilter *EdifactMessageFilter `json:"messageFilter,omitempty"`
1519	// ProcessingSettings - The EDIFACT processing Settings.
1520	ProcessingSettings *EdifactProcessingSettings `json:"processingSettings,omitempty"`
1521	// EnvelopeOverrides - The EDIFACT envelope override settings.
1522	EnvelopeOverrides *[]EdifactEnvelopeOverride `json:"envelopeOverrides,omitempty"`
1523	// MessageFilterList - The EDIFACT message filter list.
1524	MessageFilterList *[]EdifactMessageIdentifier `json:"messageFilterList,omitempty"`
1525	// SchemaReferences - The EDIFACT schema references.
1526	SchemaReferences *[]EdifactSchemaReference `json:"schemaReferences,omitempty"`
1527	// ValidationOverrides - The EDIFACT validation override settings.
1528	ValidationOverrides *[]EdifactValidationOverride `json:"validationOverrides,omitempty"`
1529	// EdifactDelimiterOverrides - The EDIFACT delimiter override settings.
1530	EdifactDelimiterOverrides *[]EdifactDelimiterOverride `json:"edifactDelimiterOverrides,omitempty"`
1531}
1532
1533// EdifactSchemaReference the Edifact schema reference.
1534type EdifactSchemaReference struct {
1535	// MessageID - The message id.
1536	MessageID *string `json:"messageId,omitempty"`
1537	// MessageVersion - The message version.
1538	MessageVersion *string `json:"messageVersion,omitempty"`
1539	// MessageRelease - The message release version.
1540	MessageRelease *string `json:"messageRelease,omitempty"`
1541	// SenderApplicationID - The sender application id.
1542	SenderApplicationID *string `json:"senderApplicationId,omitempty"`
1543	// SenderApplicationQualifier - The sender application qualifier.
1544	SenderApplicationQualifier *string `json:"senderApplicationQualifier,omitempty"`
1545	// AssociationAssignedCode - The association assigned code.
1546	AssociationAssignedCode *string `json:"associationAssignedCode,omitempty"`
1547	// SchemaName - The schema name.
1548	SchemaName *string `json:"schemaName,omitempty"`
1549}
1550
1551// EdifactValidationOverride the Edifact validation override settings.
1552type EdifactValidationOverride struct {
1553	// MessageID - The message id on which the validation settings has to be applied.
1554	MessageID *string `json:"messageId,omitempty"`
1555	// EnforceCharacterSet - The value indicating whether to validate character Set.
1556	EnforceCharacterSet *bool `json:"enforceCharacterSet,omitempty"`
1557	// ValidateEdiTypes - The value indicating whether to validate EDI types.
1558	ValidateEdiTypes *bool `json:"validateEdiTypes,omitempty"`
1559	// ValidateXsdTypes - The value indicating whether to validate XSD types.
1560	ValidateXsdTypes *bool `json:"validateXsdTypes,omitempty"`
1561	// AllowLeadingAndTrailingSpacesAndZeroes - The value indicating whether to allow leading and trailing spaces and zeroes.
1562	AllowLeadingAndTrailingSpacesAndZeroes *bool `json:"allowLeadingAndTrailingSpacesAndZeroes,omitempty"`
1563	// TrailingSeparatorPolicy - The trailing separator policy. Possible values include: 'TrailingSeparatorPolicyNotSpecified', 'TrailingSeparatorPolicyNotAllowed', 'TrailingSeparatorPolicyOptional', 'TrailingSeparatorPolicyMandatory'
1564	TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"`
1565	// TrimLeadingAndTrailingSpacesAndZeroes - The value indicating whether to trim leading and trailing spaces and zeroes.
1566	TrimLeadingAndTrailingSpacesAndZeroes *bool `json:"trimLeadingAndTrailingSpacesAndZeroes,omitempty"`
1567}
1568
1569// EdifactValidationSettings the Edifact agreement validation settings.
1570type EdifactValidationSettings struct {
1571	// ValidateCharacterSet - The value indicating whether to validate character set in the message.
1572	ValidateCharacterSet *bool `json:"validateCharacterSet,omitempty"`
1573	// CheckDuplicateInterchangeControlNumber - The value indicating whether to check for duplicate interchange control number.
1574	CheckDuplicateInterchangeControlNumber *bool `json:"checkDuplicateInterchangeControlNumber,omitempty"`
1575	// InterchangeControlNumberValidityDays - The validity period of interchange control number.
1576	InterchangeControlNumberValidityDays *int32 `json:"interchangeControlNumberValidityDays,omitempty"`
1577	// CheckDuplicateGroupControlNumber - The value indicating whether to check for duplicate group control number.
1578	CheckDuplicateGroupControlNumber *bool `json:"checkDuplicateGroupControlNumber,omitempty"`
1579	// CheckDuplicateTransactionSetControlNumber - The value indicating whether to check for duplicate transaction set control number.
1580	CheckDuplicateTransactionSetControlNumber *bool `json:"checkDuplicateTransactionSetControlNumber,omitempty"`
1581	// ValidateEdiTypes - The value indicating whether to Whether to validate EDI types.
1582	ValidateEdiTypes *bool `json:"validateEdiTypes,omitempty"`
1583	// ValidateXsdTypes - The value indicating whether to Whether to validate XSD types.
1584	ValidateXsdTypes *bool `json:"validateXsdTypes,omitempty"`
1585	// AllowLeadingAndTrailingSpacesAndZeroes - The value indicating whether to allow leading and trailing spaces and zeroes.
1586	AllowLeadingAndTrailingSpacesAndZeroes *bool `json:"allowLeadingAndTrailingSpacesAndZeroes,omitempty"`
1587	// TrimLeadingAndTrailingSpacesAndZeroes - The value indicating whether to trim leading and trailing spaces and zeroes.
1588	TrimLeadingAndTrailingSpacesAndZeroes *bool `json:"trimLeadingAndTrailingSpacesAndZeroes,omitempty"`
1589	// TrailingSeparatorPolicy - The trailing separator policy. Possible values include: 'TrailingSeparatorPolicyNotSpecified', 'TrailingSeparatorPolicyNotAllowed', 'TrailingSeparatorPolicyOptional', 'TrailingSeparatorPolicyMandatory'
1590	TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"`
1591}
1592
1593// ErrorInfo the error info.
1594type ErrorInfo struct {
1595	// Code - The error code.
1596	Code *string `json:"code,omitempty"`
1597}
1598
1599// ErrorProperties error properties indicate why the Logic service was not able to process the incoming
1600// request. The reason is provided in the error message.
1601type ErrorProperties struct {
1602	// Code - Error code.
1603	Code *string `json:"code,omitempty"`
1604	// Message - Error message indicating why the operation failed.
1605	Message *string `json:"message,omitempty"`
1606}
1607
1608// ErrorResponse error response indicates Logic service is not able to process the incoming request. The
1609// error property contains the error details.
1610type ErrorResponse struct {
1611	// Error - The error properties.
1612	Error *ErrorProperties `json:"error,omitempty"`
1613}
1614
1615// Expression ...
1616type Expression struct {
1617	Text           *string                 `json:"text,omitempty"`
1618	Value          interface{}             `json:"value,omitempty"`
1619	Subexpressions *[]Expression           `json:"subexpressions,omitempty"`
1620	Error          *AzureResourceErrorInfo `json:"error,omitempty"`
1621}
1622
1623// ExpressionRoot ...
1624type ExpressionRoot struct {
1625	// Path - The path.
1626	Path           *string                 `json:"path,omitempty"`
1627	Text           *string                 `json:"text,omitempty"`
1628	Value          interface{}             `json:"value,omitempty"`
1629	Subexpressions *[]Expression           `json:"subexpressions,omitempty"`
1630	Error          *AzureResourceErrorInfo `json:"error,omitempty"`
1631}
1632
1633// ExpressionTraces ...
1634type ExpressionTraces struct {
1635	autorest.Response `json:"-"`
1636	Inputs            *[]ExpressionRoot `json:"inputs,omitempty"`
1637}
1638
1639// GenerateUpgradedDefinitionParameters the parameters to generate upgraded definition.
1640type GenerateUpgradedDefinitionParameters struct {
1641	// TargetSchemaVersion - The target schema version.
1642	TargetSchemaVersion *string `json:"targetSchemaVersion,omitempty"`
1643}
1644
1645// GetCallbackURLParameters the callback url parameters.
1646type GetCallbackURLParameters struct {
1647	// NotAfter - The expiry time.
1648	NotAfter *date.Time `json:"notAfter,omitempty"`
1649	// KeyType - The key type. Possible values include: 'KeyTypeNotSpecified', 'KeyTypePrimary', 'KeyTypeSecondary'
1650	KeyType KeyType `json:"keyType,omitempty"`
1651}
1652
1653// IntegrationAccount the integration account.
1654type IntegrationAccount struct {
1655	autorest.Response `json:"-"`
1656	// Properties - The integration account properties.
1657	Properties interface{} `json:"properties,omitempty"`
1658	// Sku - The sku.
1659	Sku *IntegrationAccountSku `json:"sku,omitempty"`
1660	// ID - READ-ONLY; The resource id.
1661	ID *string `json:"id,omitempty"`
1662	// Name - READ-ONLY; Gets the resource name.
1663	Name *string `json:"name,omitempty"`
1664	// Type - READ-ONLY; Gets the resource type.
1665	Type *string `json:"type,omitempty"`
1666	// Location - The resource location.
1667	Location *string `json:"location,omitempty"`
1668	// Tags - The resource tags.
1669	Tags map[string]*string `json:"tags"`
1670}
1671
1672// MarshalJSON is the custom marshaler for IntegrationAccount.
1673func (ia IntegrationAccount) MarshalJSON() ([]byte, error) {
1674	objectMap := make(map[string]interface{})
1675	if ia.Properties != nil {
1676		objectMap["properties"] = ia.Properties
1677	}
1678	if ia.Sku != nil {
1679		objectMap["sku"] = ia.Sku
1680	}
1681	if ia.Location != nil {
1682		objectMap["location"] = ia.Location
1683	}
1684	if ia.Tags != nil {
1685		objectMap["tags"] = ia.Tags
1686	}
1687	return json.Marshal(objectMap)
1688}
1689
1690// IntegrationAccountAgreement the integration account agreement.
1691type IntegrationAccountAgreement struct {
1692	autorest.Response `json:"-"`
1693	// IntegrationAccountAgreementProperties - The integration account agreement properties.
1694	*IntegrationAccountAgreementProperties `json:"properties,omitempty"`
1695	// ID - READ-ONLY; The resource id.
1696	ID *string `json:"id,omitempty"`
1697	// Name - READ-ONLY; Gets the resource name.
1698	Name *string `json:"name,omitempty"`
1699	// Type - READ-ONLY; Gets the resource type.
1700	Type *string `json:"type,omitempty"`
1701	// Location - The resource location.
1702	Location *string `json:"location,omitempty"`
1703	// Tags - The resource tags.
1704	Tags map[string]*string `json:"tags"`
1705}
1706
1707// MarshalJSON is the custom marshaler for IntegrationAccountAgreement.
1708func (iaa IntegrationAccountAgreement) MarshalJSON() ([]byte, error) {
1709	objectMap := make(map[string]interface{})
1710	if iaa.IntegrationAccountAgreementProperties != nil {
1711		objectMap["properties"] = iaa.IntegrationAccountAgreementProperties
1712	}
1713	if iaa.Location != nil {
1714		objectMap["location"] = iaa.Location
1715	}
1716	if iaa.Tags != nil {
1717		objectMap["tags"] = iaa.Tags
1718	}
1719	return json.Marshal(objectMap)
1720}
1721
1722// UnmarshalJSON is the custom unmarshaler for IntegrationAccountAgreement struct.
1723func (iaa *IntegrationAccountAgreement) UnmarshalJSON(body []byte) error {
1724	var m map[string]*json.RawMessage
1725	err := json.Unmarshal(body, &m)
1726	if err != nil {
1727		return err
1728	}
1729	for k, v := range m {
1730		switch k {
1731		case "properties":
1732			if v != nil {
1733				var integrationAccountAgreementProperties IntegrationAccountAgreementProperties
1734				err = json.Unmarshal(*v, &integrationAccountAgreementProperties)
1735				if err != nil {
1736					return err
1737				}
1738				iaa.IntegrationAccountAgreementProperties = &integrationAccountAgreementProperties
1739			}
1740		case "id":
1741			if v != nil {
1742				var ID string
1743				err = json.Unmarshal(*v, &ID)
1744				if err != nil {
1745					return err
1746				}
1747				iaa.ID = &ID
1748			}
1749		case "name":
1750			if v != nil {
1751				var name string
1752				err = json.Unmarshal(*v, &name)
1753				if err != nil {
1754					return err
1755				}
1756				iaa.Name = &name
1757			}
1758		case "type":
1759			if v != nil {
1760				var typeVar string
1761				err = json.Unmarshal(*v, &typeVar)
1762				if err != nil {
1763					return err
1764				}
1765				iaa.Type = &typeVar
1766			}
1767		case "location":
1768			if v != nil {
1769				var location string
1770				err = json.Unmarshal(*v, &location)
1771				if err != nil {
1772					return err
1773				}
1774				iaa.Location = &location
1775			}
1776		case "tags":
1777			if v != nil {
1778				var tags map[string]*string
1779				err = json.Unmarshal(*v, &tags)
1780				if err != nil {
1781					return err
1782				}
1783				iaa.Tags = tags
1784			}
1785		}
1786	}
1787
1788	return nil
1789}
1790
1791// IntegrationAccountAgreementFilter the integration account agreement filter for odata query.
1792type IntegrationAccountAgreementFilter struct {
1793	// AgreementType - The agreement type of integration account agreement. Possible values include: 'AgreementTypeNotSpecified', 'AgreementTypeAS2', 'AgreementTypeX12', 'AgreementTypeEdifact'
1794	AgreementType AgreementType `json:"agreementType,omitempty"`
1795}
1796
1797// IntegrationAccountAgreementListResult the list of integration account agreements.
1798type IntegrationAccountAgreementListResult struct {
1799	autorest.Response `json:"-"`
1800	// Value - The list of integration account agreements.
1801	Value *[]IntegrationAccountAgreement `json:"value,omitempty"`
1802	// NextLink - The URL to get the next set of results.
1803	NextLink *string `json:"nextLink,omitempty"`
1804}
1805
1806// IntegrationAccountAgreementListResultIterator provides access to a complete listing of
1807// IntegrationAccountAgreement values.
1808type IntegrationAccountAgreementListResultIterator struct {
1809	i    int
1810	page IntegrationAccountAgreementListResultPage
1811}
1812
1813// NextWithContext advances to the next value.  If there was an error making
1814// the request the iterator does not advance and the error is returned.
1815func (iter *IntegrationAccountAgreementListResultIterator) NextWithContext(ctx context.Context) (err error) {
1816	if tracing.IsEnabled() {
1817		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementListResultIterator.NextWithContext")
1818		defer func() {
1819			sc := -1
1820			if iter.Response().Response.Response != nil {
1821				sc = iter.Response().Response.Response.StatusCode
1822			}
1823			tracing.EndSpan(ctx, sc, err)
1824		}()
1825	}
1826	iter.i++
1827	if iter.i < len(iter.page.Values()) {
1828		return nil
1829	}
1830	err = iter.page.NextWithContext(ctx)
1831	if err != nil {
1832		iter.i--
1833		return err
1834	}
1835	iter.i = 0
1836	return nil
1837}
1838
1839// Next advances to the next value.  If there was an error making
1840// the request the iterator does not advance and the error is returned.
1841// Deprecated: Use NextWithContext() instead.
1842func (iter *IntegrationAccountAgreementListResultIterator) Next() error {
1843	return iter.NextWithContext(context.Background())
1844}
1845
1846// NotDone returns true if the enumeration should be started or is not yet complete.
1847func (iter IntegrationAccountAgreementListResultIterator) NotDone() bool {
1848	return iter.page.NotDone() && iter.i < len(iter.page.Values())
1849}
1850
1851// Response returns the raw server response from the last page request.
1852func (iter IntegrationAccountAgreementListResultIterator) Response() IntegrationAccountAgreementListResult {
1853	return iter.page.Response()
1854}
1855
1856// Value returns the current value or a zero-initialized value if the
1857// iterator has advanced beyond the end of the collection.
1858func (iter IntegrationAccountAgreementListResultIterator) Value() IntegrationAccountAgreement {
1859	if !iter.page.NotDone() {
1860		return IntegrationAccountAgreement{}
1861	}
1862	return iter.page.Values()[iter.i]
1863}
1864
1865// Creates a new instance of the IntegrationAccountAgreementListResultIterator type.
1866func NewIntegrationAccountAgreementListResultIterator(page IntegrationAccountAgreementListResultPage) IntegrationAccountAgreementListResultIterator {
1867	return IntegrationAccountAgreementListResultIterator{page: page}
1868}
1869
1870// IsEmpty returns true if the ListResult contains no values.
1871func (iaalr IntegrationAccountAgreementListResult) IsEmpty() bool {
1872	return iaalr.Value == nil || len(*iaalr.Value) == 0
1873}
1874
1875// integrationAccountAgreementListResultPreparer prepares a request to retrieve the next set of results.
1876// It returns nil if no more results exist.
1877func (iaalr IntegrationAccountAgreementListResult) integrationAccountAgreementListResultPreparer(ctx context.Context) (*http.Request, error) {
1878	if iaalr.NextLink == nil || len(to.String(iaalr.NextLink)) < 1 {
1879		return nil, nil
1880	}
1881	return autorest.Prepare((&http.Request{}).WithContext(ctx),
1882		autorest.AsJSON(),
1883		autorest.AsGet(),
1884		autorest.WithBaseURL(to.String(iaalr.NextLink)))
1885}
1886
1887// IntegrationAccountAgreementListResultPage contains a page of IntegrationAccountAgreement values.
1888type IntegrationAccountAgreementListResultPage struct {
1889	fn    func(context.Context, IntegrationAccountAgreementListResult) (IntegrationAccountAgreementListResult, error)
1890	iaalr IntegrationAccountAgreementListResult
1891}
1892
1893// NextWithContext advances to the next page of values.  If there was an error making
1894// the request the page does not advance and the error is returned.
1895func (page *IntegrationAccountAgreementListResultPage) NextWithContext(ctx context.Context) (err error) {
1896	if tracing.IsEnabled() {
1897		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementListResultPage.NextWithContext")
1898		defer func() {
1899			sc := -1
1900			if page.Response().Response.Response != nil {
1901				sc = page.Response().Response.Response.StatusCode
1902			}
1903			tracing.EndSpan(ctx, sc, err)
1904		}()
1905	}
1906	next, err := page.fn(ctx, page.iaalr)
1907	if err != nil {
1908		return err
1909	}
1910	page.iaalr = next
1911	return nil
1912}
1913
1914// Next advances to the next page of values.  If there was an error making
1915// the request the page does not advance and the error is returned.
1916// Deprecated: Use NextWithContext() instead.
1917func (page *IntegrationAccountAgreementListResultPage) Next() error {
1918	return page.NextWithContext(context.Background())
1919}
1920
1921// NotDone returns true if the page enumeration should be started or is not yet complete.
1922func (page IntegrationAccountAgreementListResultPage) NotDone() bool {
1923	return !page.iaalr.IsEmpty()
1924}
1925
1926// Response returns the raw server response from the last page request.
1927func (page IntegrationAccountAgreementListResultPage) Response() IntegrationAccountAgreementListResult {
1928	return page.iaalr
1929}
1930
1931// Values returns the slice of values for the current page or nil if there are no values.
1932func (page IntegrationAccountAgreementListResultPage) Values() []IntegrationAccountAgreement {
1933	if page.iaalr.IsEmpty() {
1934		return nil
1935	}
1936	return *page.iaalr.Value
1937}
1938
1939// Creates a new instance of the IntegrationAccountAgreementListResultPage type.
1940func NewIntegrationAccountAgreementListResultPage(getNextPage func(context.Context, IntegrationAccountAgreementListResult) (IntegrationAccountAgreementListResult, error)) IntegrationAccountAgreementListResultPage {
1941	return IntegrationAccountAgreementListResultPage{fn: getNextPage}
1942}
1943
1944// IntegrationAccountAgreementProperties the integration account agreement properties.
1945type IntegrationAccountAgreementProperties struct {
1946	// CreatedTime - READ-ONLY; The created time.
1947	CreatedTime *date.Time `json:"createdTime,omitempty"`
1948	// ChangedTime - READ-ONLY; The changed time.
1949	ChangedTime *date.Time `json:"changedTime,omitempty"`
1950	// Metadata - The metadata.
1951	Metadata interface{} `json:"metadata,omitempty"`
1952	// AgreementType - The agreement type. Possible values include: 'AgreementTypeNotSpecified', 'AgreementTypeAS2', 'AgreementTypeX12', 'AgreementTypeEdifact'
1953	AgreementType AgreementType `json:"agreementType,omitempty"`
1954	// HostPartner - The integration account partner that is set as host partner for this agreement.
1955	HostPartner *string `json:"hostPartner,omitempty"`
1956	// GuestPartner - The integration account partner that is set as guest partner for this agreement.
1957	GuestPartner *string `json:"guestPartner,omitempty"`
1958	// HostIdentity - The business identity of the host partner.
1959	HostIdentity *BusinessIdentity `json:"hostIdentity,omitempty"`
1960	// GuestIdentity - The business identity of the guest partner.
1961	GuestIdentity *BusinessIdentity `json:"guestIdentity,omitempty"`
1962	// Content - The agreement content.
1963	Content *AgreementContent `json:"content,omitempty"`
1964}
1965
1966// IntegrationAccountCertificate the integration account certificate.
1967type IntegrationAccountCertificate struct {
1968	autorest.Response `json:"-"`
1969	// IntegrationAccountCertificateProperties - The integration account certificate properties.
1970	*IntegrationAccountCertificateProperties `json:"properties,omitempty"`
1971	// ID - READ-ONLY; The resource id.
1972	ID *string `json:"id,omitempty"`
1973	// Name - READ-ONLY; Gets the resource name.
1974	Name *string `json:"name,omitempty"`
1975	// Type - READ-ONLY; Gets the resource type.
1976	Type *string `json:"type,omitempty"`
1977	// Location - The resource location.
1978	Location *string `json:"location,omitempty"`
1979	// Tags - The resource tags.
1980	Tags map[string]*string `json:"tags"`
1981}
1982
1983// MarshalJSON is the custom marshaler for IntegrationAccountCertificate.
1984func (iac IntegrationAccountCertificate) MarshalJSON() ([]byte, error) {
1985	objectMap := make(map[string]interface{})
1986	if iac.IntegrationAccountCertificateProperties != nil {
1987		objectMap["properties"] = iac.IntegrationAccountCertificateProperties
1988	}
1989	if iac.Location != nil {
1990		objectMap["location"] = iac.Location
1991	}
1992	if iac.Tags != nil {
1993		objectMap["tags"] = iac.Tags
1994	}
1995	return json.Marshal(objectMap)
1996}
1997
1998// UnmarshalJSON is the custom unmarshaler for IntegrationAccountCertificate struct.
1999func (iac *IntegrationAccountCertificate) UnmarshalJSON(body []byte) error {
2000	var m map[string]*json.RawMessage
2001	err := json.Unmarshal(body, &m)
2002	if err != nil {
2003		return err
2004	}
2005	for k, v := range m {
2006		switch k {
2007		case "properties":
2008			if v != nil {
2009				var integrationAccountCertificateProperties IntegrationAccountCertificateProperties
2010				err = json.Unmarshal(*v, &integrationAccountCertificateProperties)
2011				if err != nil {
2012					return err
2013				}
2014				iac.IntegrationAccountCertificateProperties = &integrationAccountCertificateProperties
2015			}
2016		case "id":
2017			if v != nil {
2018				var ID string
2019				err = json.Unmarshal(*v, &ID)
2020				if err != nil {
2021					return err
2022				}
2023				iac.ID = &ID
2024			}
2025		case "name":
2026			if v != nil {
2027				var name string
2028				err = json.Unmarshal(*v, &name)
2029				if err != nil {
2030					return err
2031				}
2032				iac.Name = &name
2033			}
2034		case "type":
2035			if v != nil {
2036				var typeVar string
2037				err = json.Unmarshal(*v, &typeVar)
2038				if err != nil {
2039					return err
2040				}
2041				iac.Type = &typeVar
2042			}
2043		case "location":
2044			if v != nil {
2045				var location string
2046				err = json.Unmarshal(*v, &location)
2047				if err != nil {
2048					return err
2049				}
2050				iac.Location = &location
2051			}
2052		case "tags":
2053			if v != nil {
2054				var tags map[string]*string
2055				err = json.Unmarshal(*v, &tags)
2056				if err != nil {
2057					return err
2058				}
2059				iac.Tags = tags
2060			}
2061		}
2062	}
2063
2064	return nil
2065}
2066
2067// IntegrationAccountCertificateListResult the list of integration account certificates.
2068type IntegrationAccountCertificateListResult struct {
2069	autorest.Response `json:"-"`
2070	// Value - The list of integration account certificates.
2071	Value *[]IntegrationAccountCertificate `json:"value,omitempty"`
2072	// NextLink - The URL to get the next set of results.
2073	NextLink *string `json:"nextLink,omitempty"`
2074}
2075
2076// IntegrationAccountCertificateListResultIterator provides access to a complete listing of
2077// IntegrationAccountCertificate values.
2078type IntegrationAccountCertificateListResultIterator struct {
2079	i    int
2080	page IntegrationAccountCertificateListResultPage
2081}
2082
2083// NextWithContext advances to the next value.  If there was an error making
2084// the request the iterator does not advance and the error is returned.
2085func (iter *IntegrationAccountCertificateListResultIterator) NextWithContext(ctx context.Context) (err error) {
2086	if tracing.IsEnabled() {
2087		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificateListResultIterator.NextWithContext")
2088		defer func() {
2089			sc := -1
2090			if iter.Response().Response.Response != nil {
2091				sc = iter.Response().Response.Response.StatusCode
2092			}
2093			tracing.EndSpan(ctx, sc, err)
2094		}()
2095	}
2096	iter.i++
2097	if iter.i < len(iter.page.Values()) {
2098		return nil
2099	}
2100	err = iter.page.NextWithContext(ctx)
2101	if err != nil {
2102		iter.i--
2103		return err
2104	}
2105	iter.i = 0
2106	return nil
2107}
2108
2109// Next advances to the next value.  If there was an error making
2110// the request the iterator does not advance and the error is returned.
2111// Deprecated: Use NextWithContext() instead.
2112func (iter *IntegrationAccountCertificateListResultIterator) Next() error {
2113	return iter.NextWithContext(context.Background())
2114}
2115
2116// NotDone returns true if the enumeration should be started or is not yet complete.
2117func (iter IntegrationAccountCertificateListResultIterator) NotDone() bool {
2118	return iter.page.NotDone() && iter.i < len(iter.page.Values())
2119}
2120
2121// Response returns the raw server response from the last page request.
2122func (iter IntegrationAccountCertificateListResultIterator) Response() IntegrationAccountCertificateListResult {
2123	return iter.page.Response()
2124}
2125
2126// Value returns the current value or a zero-initialized value if the
2127// iterator has advanced beyond the end of the collection.
2128func (iter IntegrationAccountCertificateListResultIterator) Value() IntegrationAccountCertificate {
2129	if !iter.page.NotDone() {
2130		return IntegrationAccountCertificate{}
2131	}
2132	return iter.page.Values()[iter.i]
2133}
2134
2135// Creates a new instance of the IntegrationAccountCertificateListResultIterator type.
2136func NewIntegrationAccountCertificateListResultIterator(page IntegrationAccountCertificateListResultPage) IntegrationAccountCertificateListResultIterator {
2137	return IntegrationAccountCertificateListResultIterator{page: page}
2138}
2139
2140// IsEmpty returns true if the ListResult contains no values.
2141func (iaclr IntegrationAccountCertificateListResult) IsEmpty() bool {
2142	return iaclr.Value == nil || len(*iaclr.Value) == 0
2143}
2144
2145// integrationAccountCertificateListResultPreparer prepares a request to retrieve the next set of results.
2146// It returns nil if no more results exist.
2147func (iaclr IntegrationAccountCertificateListResult) integrationAccountCertificateListResultPreparer(ctx context.Context) (*http.Request, error) {
2148	if iaclr.NextLink == nil || len(to.String(iaclr.NextLink)) < 1 {
2149		return nil, nil
2150	}
2151	return autorest.Prepare((&http.Request{}).WithContext(ctx),
2152		autorest.AsJSON(),
2153		autorest.AsGet(),
2154		autorest.WithBaseURL(to.String(iaclr.NextLink)))
2155}
2156
2157// IntegrationAccountCertificateListResultPage contains a page of IntegrationAccountCertificate values.
2158type IntegrationAccountCertificateListResultPage struct {
2159	fn    func(context.Context, IntegrationAccountCertificateListResult) (IntegrationAccountCertificateListResult, error)
2160	iaclr IntegrationAccountCertificateListResult
2161}
2162
2163// NextWithContext advances to the next page of values.  If there was an error making
2164// the request the page does not advance and the error is returned.
2165func (page *IntegrationAccountCertificateListResultPage) NextWithContext(ctx context.Context) (err error) {
2166	if tracing.IsEnabled() {
2167		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificateListResultPage.NextWithContext")
2168		defer func() {
2169			sc := -1
2170			if page.Response().Response.Response != nil {
2171				sc = page.Response().Response.Response.StatusCode
2172			}
2173			tracing.EndSpan(ctx, sc, err)
2174		}()
2175	}
2176	next, err := page.fn(ctx, page.iaclr)
2177	if err != nil {
2178		return err
2179	}
2180	page.iaclr = next
2181	return nil
2182}
2183
2184// Next advances to the next page of values.  If there was an error making
2185// the request the page does not advance and the error is returned.
2186// Deprecated: Use NextWithContext() instead.
2187func (page *IntegrationAccountCertificateListResultPage) Next() error {
2188	return page.NextWithContext(context.Background())
2189}
2190
2191// NotDone returns true if the page enumeration should be started or is not yet complete.
2192func (page IntegrationAccountCertificateListResultPage) NotDone() bool {
2193	return !page.iaclr.IsEmpty()
2194}
2195
2196// Response returns the raw server response from the last page request.
2197func (page IntegrationAccountCertificateListResultPage) Response() IntegrationAccountCertificateListResult {
2198	return page.iaclr
2199}
2200
2201// Values returns the slice of values for the current page or nil if there are no values.
2202func (page IntegrationAccountCertificateListResultPage) Values() []IntegrationAccountCertificate {
2203	if page.iaclr.IsEmpty() {
2204		return nil
2205	}
2206	return *page.iaclr.Value
2207}
2208
2209// Creates a new instance of the IntegrationAccountCertificateListResultPage type.
2210func NewIntegrationAccountCertificateListResultPage(getNextPage func(context.Context, IntegrationAccountCertificateListResult) (IntegrationAccountCertificateListResult, error)) IntegrationAccountCertificateListResultPage {
2211	return IntegrationAccountCertificateListResultPage{fn: getNextPage}
2212}
2213
2214// IntegrationAccountCertificateProperties the integration account certificate properties.
2215type IntegrationAccountCertificateProperties struct {
2216	// CreatedTime - READ-ONLY; The created time.
2217	CreatedTime *date.Time `json:"createdTime,omitempty"`
2218	// ChangedTime - READ-ONLY; The changed time.
2219	ChangedTime *date.Time `json:"changedTime,omitempty"`
2220	// Metadata - The metadata.
2221	Metadata interface{} `json:"metadata,omitempty"`
2222	// Key - The key details in the key vault.
2223	Key *KeyVaultKeyReference `json:"key,omitempty"`
2224	// PublicCertificate - The public certificate.
2225	PublicCertificate *string `json:"publicCertificate,omitempty"`
2226}
2227
2228// IntegrationAccountListResult the list of integration accounts.
2229type IntegrationAccountListResult struct {
2230	autorest.Response `json:"-"`
2231	// Value - The list of integration accounts.
2232	Value *[]IntegrationAccount `json:"value,omitempty"`
2233	// NextLink - The URL to get the next set of results.
2234	NextLink *string `json:"nextLink,omitempty"`
2235}
2236
2237// IntegrationAccountListResultIterator provides access to a complete listing of IntegrationAccount values.
2238type IntegrationAccountListResultIterator struct {
2239	i    int
2240	page IntegrationAccountListResultPage
2241}
2242
2243// NextWithContext advances to the next value.  If there was an error making
2244// the request the iterator does not advance and the error is returned.
2245func (iter *IntegrationAccountListResultIterator) NextWithContext(ctx context.Context) (err error) {
2246	if tracing.IsEnabled() {
2247		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountListResultIterator.NextWithContext")
2248		defer func() {
2249			sc := -1
2250			if iter.Response().Response.Response != nil {
2251				sc = iter.Response().Response.Response.StatusCode
2252			}
2253			tracing.EndSpan(ctx, sc, err)
2254		}()
2255	}
2256	iter.i++
2257	if iter.i < len(iter.page.Values()) {
2258		return nil
2259	}
2260	err = iter.page.NextWithContext(ctx)
2261	if err != nil {
2262		iter.i--
2263		return err
2264	}
2265	iter.i = 0
2266	return nil
2267}
2268
2269// Next advances to the next value.  If there was an error making
2270// the request the iterator does not advance and the error is returned.
2271// Deprecated: Use NextWithContext() instead.
2272func (iter *IntegrationAccountListResultIterator) Next() error {
2273	return iter.NextWithContext(context.Background())
2274}
2275
2276// NotDone returns true if the enumeration should be started or is not yet complete.
2277func (iter IntegrationAccountListResultIterator) NotDone() bool {
2278	return iter.page.NotDone() && iter.i < len(iter.page.Values())
2279}
2280
2281// Response returns the raw server response from the last page request.
2282func (iter IntegrationAccountListResultIterator) Response() IntegrationAccountListResult {
2283	return iter.page.Response()
2284}
2285
2286// Value returns the current value or a zero-initialized value if the
2287// iterator has advanced beyond the end of the collection.
2288func (iter IntegrationAccountListResultIterator) Value() IntegrationAccount {
2289	if !iter.page.NotDone() {
2290		return IntegrationAccount{}
2291	}
2292	return iter.page.Values()[iter.i]
2293}
2294
2295// Creates a new instance of the IntegrationAccountListResultIterator type.
2296func NewIntegrationAccountListResultIterator(page IntegrationAccountListResultPage) IntegrationAccountListResultIterator {
2297	return IntegrationAccountListResultIterator{page: page}
2298}
2299
2300// IsEmpty returns true if the ListResult contains no values.
2301func (ialr IntegrationAccountListResult) IsEmpty() bool {
2302	return ialr.Value == nil || len(*ialr.Value) == 0
2303}
2304
2305// integrationAccountListResultPreparer prepares a request to retrieve the next set of results.
2306// It returns nil if no more results exist.
2307func (ialr IntegrationAccountListResult) integrationAccountListResultPreparer(ctx context.Context) (*http.Request, error) {
2308	if ialr.NextLink == nil || len(to.String(ialr.NextLink)) < 1 {
2309		return nil, nil
2310	}
2311	return autorest.Prepare((&http.Request{}).WithContext(ctx),
2312		autorest.AsJSON(),
2313		autorest.AsGet(),
2314		autorest.WithBaseURL(to.String(ialr.NextLink)))
2315}
2316
2317// IntegrationAccountListResultPage contains a page of IntegrationAccount values.
2318type IntegrationAccountListResultPage struct {
2319	fn   func(context.Context, IntegrationAccountListResult) (IntegrationAccountListResult, error)
2320	ialr IntegrationAccountListResult
2321}
2322
2323// NextWithContext advances to the next page of values.  If there was an error making
2324// the request the page does not advance and the error is returned.
2325func (page *IntegrationAccountListResultPage) NextWithContext(ctx context.Context) (err error) {
2326	if tracing.IsEnabled() {
2327		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountListResultPage.NextWithContext")
2328		defer func() {
2329			sc := -1
2330			if page.Response().Response.Response != nil {
2331				sc = page.Response().Response.Response.StatusCode
2332			}
2333			tracing.EndSpan(ctx, sc, err)
2334		}()
2335	}
2336	next, err := page.fn(ctx, page.ialr)
2337	if err != nil {
2338		return err
2339	}
2340	page.ialr = next
2341	return nil
2342}
2343
2344// Next advances to the next page of values.  If there was an error making
2345// the request the page does not advance and the error is returned.
2346// Deprecated: Use NextWithContext() instead.
2347func (page *IntegrationAccountListResultPage) Next() error {
2348	return page.NextWithContext(context.Background())
2349}
2350
2351// NotDone returns true if the page enumeration should be started or is not yet complete.
2352func (page IntegrationAccountListResultPage) NotDone() bool {
2353	return !page.ialr.IsEmpty()
2354}
2355
2356// Response returns the raw server response from the last page request.
2357func (page IntegrationAccountListResultPage) Response() IntegrationAccountListResult {
2358	return page.ialr
2359}
2360
2361// Values returns the slice of values for the current page or nil if there are no values.
2362func (page IntegrationAccountListResultPage) Values() []IntegrationAccount {
2363	if page.ialr.IsEmpty() {
2364		return nil
2365	}
2366	return *page.ialr.Value
2367}
2368
2369// Creates a new instance of the IntegrationAccountListResultPage type.
2370func NewIntegrationAccountListResultPage(getNextPage func(context.Context, IntegrationAccountListResult) (IntegrationAccountListResult, error)) IntegrationAccountListResultPage {
2371	return IntegrationAccountListResultPage{fn: getNextPage}
2372}
2373
2374// IntegrationAccountMap the integration account map.
2375type IntegrationAccountMap struct {
2376	autorest.Response `json:"-"`
2377	// IntegrationAccountMapProperties - The integration account map properties.
2378	*IntegrationAccountMapProperties `json:"properties,omitempty"`
2379	// ID - READ-ONLY; The resource id.
2380	ID *string `json:"id,omitempty"`
2381	// Name - READ-ONLY; Gets the resource name.
2382	Name *string `json:"name,omitempty"`
2383	// Type - READ-ONLY; Gets the resource type.
2384	Type *string `json:"type,omitempty"`
2385	// Location - The resource location.
2386	Location *string `json:"location,omitempty"`
2387	// Tags - The resource tags.
2388	Tags map[string]*string `json:"tags"`
2389}
2390
2391// MarshalJSON is the custom marshaler for IntegrationAccountMap.
2392func (iam IntegrationAccountMap) MarshalJSON() ([]byte, error) {
2393	objectMap := make(map[string]interface{})
2394	if iam.IntegrationAccountMapProperties != nil {
2395		objectMap["properties"] = iam.IntegrationAccountMapProperties
2396	}
2397	if iam.Location != nil {
2398		objectMap["location"] = iam.Location
2399	}
2400	if iam.Tags != nil {
2401		objectMap["tags"] = iam.Tags
2402	}
2403	return json.Marshal(objectMap)
2404}
2405
2406// UnmarshalJSON is the custom unmarshaler for IntegrationAccountMap struct.
2407func (iam *IntegrationAccountMap) UnmarshalJSON(body []byte) error {
2408	var m map[string]*json.RawMessage
2409	err := json.Unmarshal(body, &m)
2410	if err != nil {
2411		return err
2412	}
2413	for k, v := range m {
2414		switch k {
2415		case "properties":
2416			if v != nil {
2417				var integrationAccountMapProperties IntegrationAccountMapProperties
2418				err = json.Unmarshal(*v, &integrationAccountMapProperties)
2419				if err != nil {
2420					return err
2421				}
2422				iam.IntegrationAccountMapProperties = &integrationAccountMapProperties
2423			}
2424		case "id":
2425			if v != nil {
2426				var ID string
2427				err = json.Unmarshal(*v, &ID)
2428				if err != nil {
2429					return err
2430				}
2431				iam.ID = &ID
2432			}
2433		case "name":
2434			if v != nil {
2435				var name string
2436				err = json.Unmarshal(*v, &name)
2437				if err != nil {
2438					return err
2439				}
2440				iam.Name = &name
2441			}
2442		case "type":
2443			if v != nil {
2444				var typeVar string
2445				err = json.Unmarshal(*v, &typeVar)
2446				if err != nil {
2447					return err
2448				}
2449				iam.Type = &typeVar
2450			}
2451		case "location":
2452			if v != nil {
2453				var location string
2454				err = json.Unmarshal(*v, &location)
2455				if err != nil {
2456					return err
2457				}
2458				iam.Location = &location
2459			}
2460		case "tags":
2461			if v != nil {
2462				var tags map[string]*string
2463				err = json.Unmarshal(*v, &tags)
2464				if err != nil {
2465					return err
2466				}
2467				iam.Tags = tags
2468			}
2469		}
2470	}
2471
2472	return nil
2473}
2474
2475// IntegrationAccountMapFilter the integration account map filter for odata query.
2476type IntegrationAccountMapFilter struct {
2477	// MapType - The map type of integration account map. Possible values include: 'MapTypeNotSpecified', 'MapTypeXslt'
2478	MapType MapType `json:"mapType,omitempty"`
2479}
2480
2481// IntegrationAccountMapListResult the list of integration account maps.
2482type IntegrationAccountMapListResult struct {
2483	autorest.Response `json:"-"`
2484	// Value - The list of integration account maps.
2485	Value *[]IntegrationAccountMap `json:"value,omitempty"`
2486	// NextLink - The URL to get the next set of results.
2487	NextLink *string `json:"nextLink,omitempty"`
2488}
2489
2490// IntegrationAccountMapListResultIterator provides access to a complete listing of IntegrationAccountMap
2491// values.
2492type IntegrationAccountMapListResultIterator struct {
2493	i    int
2494	page IntegrationAccountMapListResultPage
2495}
2496
2497// NextWithContext advances to the next value.  If there was an error making
2498// the request the iterator does not advance and the error is returned.
2499func (iter *IntegrationAccountMapListResultIterator) NextWithContext(ctx context.Context) (err error) {
2500	if tracing.IsEnabled() {
2501		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapListResultIterator.NextWithContext")
2502		defer func() {
2503			sc := -1
2504			if iter.Response().Response.Response != nil {
2505				sc = iter.Response().Response.Response.StatusCode
2506			}
2507			tracing.EndSpan(ctx, sc, err)
2508		}()
2509	}
2510	iter.i++
2511	if iter.i < len(iter.page.Values()) {
2512		return nil
2513	}
2514	err = iter.page.NextWithContext(ctx)
2515	if err != nil {
2516		iter.i--
2517		return err
2518	}
2519	iter.i = 0
2520	return nil
2521}
2522
2523// Next advances to the next value.  If there was an error making
2524// the request the iterator does not advance and the error is returned.
2525// Deprecated: Use NextWithContext() instead.
2526func (iter *IntegrationAccountMapListResultIterator) Next() error {
2527	return iter.NextWithContext(context.Background())
2528}
2529
2530// NotDone returns true if the enumeration should be started or is not yet complete.
2531func (iter IntegrationAccountMapListResultIterator) NotDone() bool {
2532	return iter.page.NotDone() && iter.i < len(iter.page.Values())
2533}
2534
2535// Response returns the raw server response from the last page request.
2536func (iter IntegrationAccountMapListResultIterator) Response() IntegrationAccountMapListResult {
2537	return iter.page.Response()
2538}
2539
2540// Value returns the current value or a zero-initialized value if the
2541// iterator has advanced beyond the end of the collection.
2542func (iter IntegrationAccountMapListResultIterator) Value() IntegrationAccountMap {
2543	if !iter.page.NotDone() {
2544		return IntegrationAccountMap{}
2545	}
2546	return iter.page.Values()[iter.i]
2547}
2548
2549// Creates a new instance of the IntegrationAccountMapListResultIterator type.
2550func NewIntegrationAccountMapListResultIterator(page IntegrationAccountMapListResultPage) IntegrationAccountMapListResultIterator {
2551	return IntegrationAccountMapListResultIterator{page: page}
2552}
2553
2554// IsEmpty returns true if the ListResult contains no values.
2555func (iamlr IntegrationAccountMapListResult) IsEmpty() bool {
2556	return iamlr.Value == nil || len(*iamlr.Value) == 0
2557}
2558
2559// integrationAccountMapListResultPreparer prepares a request to retrieve the next set of results.
2560// It returns nil if no more results exist.
2561func (iamlr IntegrationAccountMapListResult) integrationAccountMapListResultPreparer(ctx context.Context) (*http.Request, error) {
2562	if iamlr.NextLink == nil || len(to.String(iamlr.NextLink)) < 1 {
2563		return nil, nil
2564	}
2565	return autorest.Prepare((&http.Request{}).WithContext(ctx),
2566		autorest.AsJSON(),
2567		autorest.AsGet(),
2568		autorest.WithBaseURL(to.String(iamlr.NextLink)))
2569}
2570
2571// IntegrationAccountMapListResultPage contains a page of IntegrationAccountMap values.
2572type IntegrationAccountMapListResultPage struct {
2573	fn    func(context.Context, IntegrationAccountMapListResult) (IntegrationAccountMapListResult, error)
2574	iamlr IntegrationAccountMapListResult
2575}
2576
2577// NextWithContext advances to the next page of values.  If there was an error making
2578// the request the page does not advance and the error is returned.
2579func (page *IntegrationAccountMapListResultPage) NextWithContext(ctx context.Context) (err error) {
2580	if tracing.IsEnabled() {
2581		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapListResultPage.NextWithContext")
2582		defer func() {
2583			sc := -1
2584			if page.Response().Response.Response != nil {
2585				sc = page.Response().Response.Response.StatusCode
2586			}
2587			tracing.EndSpan(ctx, sc, err)
2588		}()
2589	}
2590	next, err := page.fn(ctx, page.iamlr)
2591	if err != nil {
2592		return err
2593	}
2594	page.iamlr = next
2595	return nil
2596}
2597
2598// Next advances to the next page of values.  If there was an error making
2599// the request the page does not advance and the error is returned.
2600// Deprecated: Use NextWithContext() instead.
2601func (page *IntegrationAccountMapListResultPage) Next() error {
2602	return page.NextWithContext(context.Background())
2603}
2604
2605// NotDone returns true if the page enumeration should be started or is not yet complete.
2606func (page IntegrationAccountMapListResultPage) NotDone() bool {
2607	return !page.iamlr.IsEmpty()
2608}
2609
2610// Response returns the raw server response from the last page request.
2611func (page IntegrationAccountMapListResultPage) Response() IntegrationAccountMapListResult {
2612	return page.iamlr
2613}
2614
2615// Values returns the slice of values for the current page or nil if there are no values.
2616func (page IntegrationAccountMapListResultPage) Values() []IntegrationAccountMap {
2617	if page.iamlr.IsEmpty() {
2618		return nil
2619	}
2620	return *page.iamlr.Value
2621}
2622
2623// Creates a new instance of the IntegrationAccountMapListResultPage type.
2624func NewIntegrationAccountMapListResultPage(getNextPage func(context.Context, IntegrationAccountMapListResult) (IntegrationAccountMapListResult, error)) IntegrationAccountMapListResultPage {
2625	return IntegrationAccountMapListResultPage{fn: getNextPage}
2626}
2627
2628// IntegrationAccountMapProperties the integration account map.
2629type IntegrationAccountMapProperties struct {
2630	// MapType - The map type. Possible values include: 'MapTypeNotSpecified', 'MapTypeXslt'
2631	MapType MapType `json:"mapType,omitempty"`
2632	// ParametersSchema - The parameters schema of integration account map.
2633	ParametersSchema *IntegrationAccountMapPropertiesParametersSchema `json:"parametersSchema,omitempty"`
2634	// CreatedTime - READ-ONLY; The created time.
2635	CreatedTime *date.Time `json:"createdTime,omitempty"`
2636	// ChangedTime - READ-ONLY; The changed time.
2637	ChangedTime *date.Time `json:"changedTime,omitempty"`
2638	// Content - The content.
2639	Content *string `json:"content,omitempty"`
2640	// ContentType - The content type.
2641	ContentType *string `json:"contentType,omitempty"`
2642	// ContentLink - READ-ONLY; The content link.
2643	ContentLink *ContentLink `json:"contentLink,omitempty"`
2644	// Metadata - The metadata.
2645	Metadata interface{} `json:"metadata,omitempty"`
2646}
2647
2648// IntegrationAccountMapPropertiesParametersSchema the parameters schema of integration account map.
2649type IntegrationAccountMapPropertiesParametersSchema struct {
2650	// Ref - The reference name.
2651	Ref *string `json:"ref,omitempty"`
2652}
2653
2654// IntegrationAccountPartner the integration account partner.
2655type IntegrationAccountPartner struct {
2656	autorest.Response `json:"-"`
2657	// IntegrationAccountPartnerProperties - The integration account partner properties.
2658	*IntegrationAccountPartnerProperties `json:"properties,omitempty"`
2659	// ID - READ-ONLY; The resource id.
2660	ID *string `json:"id,omitempty"`
2661	// Name - READ-ONLY; Gets the resource name.
2662	Name *string `json:"name,omitempty"`
2663	// Type - READ-ONLY; Gets the resource type.
2664	Type *string `json:"type,omitempty"`
2665	// Location - The resource location.
2666	Location *string `json:"location,omitempty"`
2667	// Tags - The resource tags.
2668	Tags map[string]*string `json:"tags"`
2669}
2670
2671// MarshalJSON is the custom marshaler for IntegrationAccountPartner.
2672func (iap IntegrationAccountPartner) MarshalJSON() ([]byte, error) {
2673	objectMap := make(map[string]interface{})
2674	if iap.IntegrationAccountPartnerProperties != nil {
2675		objectMap["properties"] = iap.IntegrationAccountPartnerProperties
2676	}
2677	if iap.Location != nil {
2678		objectMap["location"] = iap.Location
2679	}
2680	if iap.Tags != nil {
2681		objectMap["tags"] = iap.Tags
2682	}
2683	return json.Marshal(objectMap)
2684}
2685
2686// UnmarshalJSON is the custom unmarshaler for IntegrationAccountPartner struct.
2687func (iap *IntegrationAccountPartner) UnmarshalJSON(body []byte) error {
2688	var m map[string]*json.RawMessage
2689	err := json.Unmarshal(body, &m)
2690	if err != nil {
2691		return err
2692	}
2693	for k, v := range m {
2694		switch k {
2695		case "properties":
2696			if v != nil {
2697				var integrationAccountPartnerProperties IntegrationAccountPartnerProperties
2698				err = json.Unmarshal(*v, &integrationAccountPartnerProperties)
2699				if err != nil {
2700					return err
2701				}
2702				iap.IntegrationAccountPartnerProperties = &integrationAccountPartnerProperties
2703			}
2704		case "id":
2705			if v != nil {
2706				var ID string
2707				err = json.Unmarshal(*v, &ID)
2708				if err != nil {
2709					return err
2710				}
2711				iap.ID = &ID
2712			}
2713		case "name":
2714			if v != nil {
2715				var name string
2716				err = json.Unmarshal(*v, &name)
2717				if err != nil {
2718					return err
2719				}
2720				iap.Name = &name
2721			}
2722		case "type":
2723			if v != nil {
2724				var typeVar string
2725				err = json.Unmarshal(*v, &typeVar)
2726				if err != nil {
2727					return err
2728				}
2729				iap.Type = &typeVar
2730			}
2731		case "location":
2732			if v != nil {
2733				var location string
2734				err = json.Unmarshal(*v, &location)
2735				if err != nil {
2736					return err
2737				}
2738				iap.Location = &location
2739			}
2740		case "tags":
2741			if v != nil {
2742				var tags map[string]*string
2743				err = json.Unmarshal(*v, &tags)
2744				if err != nil {
2745					return err
2746				}
2747				iap.Tags = tags
2748			}
2749		}
2750	}
2751
2752	return nil
2753}
2754
2755// IntegrationAccountPartnerFilter the integration account partner filter for odata query.
2756type IntegrationAccountPartnerFilter struct {
2757	// PartnerType - The partner type of integration account partner. Possible values include: 'PartnerTypeNotSpecified', 'PartnerTypeB2B'
2758	PartnerType PartnerType `json:"partnerType,omitempty"`
2759}
2760
2761// IntegrationAccountPartnerListResult the list of integration account partners.
2762type IntegrationAccountPartnerListResult struct {
2763	autorest.Response `json:"-"`
2764	// Value - The list of integration account partners.
2765	Value *[]IntegrationAccountPartner `json:"value,omitempty"`
2766	// NextLink - The URL to get the next set of results.
2767	NextLink *string `json:"nextLink,omitempty"`
2768}
2769
2770// IntegrationAccountPartnerListResultIterator provides access to a complete listing of
2771// IntegrationAccountPartner values.
2772type IntegrationAccountPartnerListResultIterator struct {
2773	i    int
2774	page IntegrationAccountPartnerListResultPage
2775}
2776
2777// NextWithContext advances to the next value.  If there was an error making
2778// the request the iterator does not advance and the error is returned.
2779func (iter *IntegrationAccountPartnerListResultIterator) NextWithContext(ctx context.Context) (err error) {
2780	if tracing.IsEnabled() {
2781		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnerListResultIterator.NextWithContext")
2782		defer func() {
2783			sc := -1
2784			if iter.Response().Response.Response != nil {
2785				sc = iter.Response().Response.Response.StatusCode
2786			}
2787			tracing.EndSpan(ctx, sc, err)
2788		}()
2789	}
2790	iter.i++
2791	if iter.i < len(iter.page.Values()) {
2792		return nil
2793	}
2794	err = iter.page.NextWithContext(ctx)
2795	if err != nil {
2796		iter.i--
2797		return err
2798	}
2799	iter.i = 0
2800	return nil
2801}
2802
2803// Next advances to the next value.  If there was an error making
2804// the request the iterator does not advance and the error is returned.
2805// Deprecated: Use NextWithContext() instead.
2806func (iter *IntegrationAccountPartnerListResultIterator) Next() error {
2807	return iter.NextWithContext(context.Background())
2808}
2809
2810// NotDone returns true if the enumeration should be started or is not yet complete.
2811func (iter IntegrationAccountPartnerListResultIterator) NotDone() bool {
2812	return iter.page.NotDone() && iter.i < len(iter.page.Values())
2813}
2814
2815// Response returns the raw server response from the last page request.
2816func (iter IntegrationAccountPartnerListResultIterator) Response() IntegrationAccountPartnerListResult {
2817	return iter.page.Response()
2818}
2819
2820// Value returns the current value or a zero-initialized value if the
2821// iterator has advanced beyond the end of the collection.
2822func (iter IntegrationAccountPartnerListResultIterator) Value() IntegrationAccountPartner {
2823	if !iter.page.NotDone() {
2824		return IntegrationAccountPartner{}
2825	}
2826	return iter.page.Values()[iter.i]
2827}
2828
2829// Creates a new instance of the IntegrationAccountPartnerListResultIterator type.
2830func NewIntegrationAccountPartnerListResultIterator(page IntegrationAccountPartnerListResultPage) IntegrationAccountPartnerListResultIterator {
2831	return IntegrationAccountPartnerListResultIterator{page: page}
2832}
2833
2834// IsEmpty returns true if the ListResult contains no values.
2835func (iaplr IntegrationAccountPartnerListResult) IsEmpty() bool {
2836	return iaplr.Value == nil || len(*iaplr.Value) == 0
2837}
2838
2839// integrationAccountPartnerListResultPreparer prepares a request to retrieve the next set of results.
2840// It returns nil if no more results exist.
2841func (iaplr IntegrationAccountPartnerListResult) integrationAccountPartnerListResultPreparer(ctx context.Context) (*http.Request, error) {
2842	if iaplr.NextLink == nil || len(to.String(iaplr.NextLink)) < 1 {
2843		return nil, nil
2844	}
2845	return autorest.Prepare((&http.Request{}).WithContext(ctx),
2846		autorest.AsJSON(),
2847		autorest.AsGet(),
2848		autorest.WithBaseURL(to.String(iaplr.NextLink)))
2849}
2850
2851// IntegrationAccountPartnerListResultPage contains a page of IntegrationAccountPartner values.
2852type IntegrationAccountPartnerListResultPage struct {
2853	fn    func(context.Context, IntegrationAccountPartnerListResult) (IntegrationAccountPartnerListResult, error)
2854	iaplr IntegrationAccountPartnerListResult
2855}
2856
2857// NextWithContext advances to the next page of values.  If there was an error making
2858// the request the page does not advance and the error is returned.
2859func (page *IntegrationAccountPartnerListResultPage) NextWithContext(ctx context.Context) (err error) {
2860	if tracing.IsEnabled() {
2861		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnerListResultPage.NextWithContext")
2862		defer func() {
2863			sc := -1
2864			if page.Response().Response.Response != nil {
2865				sc = page.Response().Response.Response.StatusCode
2866			}
2867			tracing.EndSpan(ctx, sc, err)
2868		}()
2869	}
2870	next, err := page.fn(ctx, page.iaplr)
2871	if err != nil {
2872		return err
2873	}
2874	page.iaplr = next
2875	return nil
2876}
2877
2878// Next advances to the next page of values.  If there was an error making
2879// the request the page does not advance and the error is returned.
2880// Deprecated: Use NextWithContext() instead.
2881func (page *IntegrationAccountPartnerListResultPage) Next() error {
2882	return page.NextWithContext(context.Background())
2883}
2884
2885// NotDone returns true if the page enumeration should be started or is not yet complete.
2886func (page IntegrationAccountPartnerListResultPage) NotDone() bool {
2887	return !page.iaplr.IsEmpty()
2888}
2889
2890// Response returns the raw server response from the last page request.
2891func (page IntegrationAccountPartnerListResultPage) Response() IntegrationAccountPartnerListResult {
2892	return page.iaplr
2893}
2894
2895// Values returns the slice of values for the current page or nil if there are no values.
2896func (page IntegrationAccountPartnerListResultPage) Values() []IntegrationAccountPartner {
2897	if page.iaplr.IsEmpty() {
2898		return nil
2899	}
2900	return *page.iaplr.Value
2901}
2902
2903// Creates a new instance of the IntegrationAccountPartnerListResultPage type.
2904func NewIntegrationAccountPartnerListResultPage(getNextPage func(context.Context, IntegrationAccountPartnerListResult) (IntegrationAccountPartnerListResult, error)) IntegrationAccountPartnerListResultPage {
2905	return IntegrationAccountPartnerListResultPage{fn: getNextPage}
2906}
2907
2908// IntegrationAccountPartnerProperties the integration account partner properties.
2909type IntegrationAccountPartnerProperties struct {
2910	// PartnerType - The partner type. Possible values include: 'PartnerTypeNotSpecified', 'PartnerTypeB2B'
2911	PartnerType PartnerType `json:"partnerType,omitempty"`
2912	// CreatedTime - READ-ONLY; The created time.
2913	CreatedTime *date.Time `json:"createdTime,omitempty"`
2914	// ChangedTime - READ-ONLY; The changed time.
2915	ChangedTime *date.Time `json:"changedTime,omitempty"`
2916	// Metadata - The metadata.
2917	Metadata interface{} `json:"metadata,omitempty"`
2918	// Content - The partner content.
2919	Content *PartnerContent `json:"content,omitempty"`
2920}
2921
2922// IntegrationAccountRosettaNetProcessConfiguration the integration account RosettaNet process
2923// configuration.
2924type IntegrationAccountRosettaNetProcessConfiguration struct {
2925	autorest.Response `json:"-"`
2926	// IntegrationAccountRosettaNetProcessConfigurationProperties - The integration account RosettaNet process configuration properties.
2927	*IntegrationAccountRosettaNetProcessConfigurationProperties `json:"properties,omitempty"`
2928	// ID - READ-ONLY; The resource id.
2929	ID *string `json:"id,omitempty"`
2930	// Name - READ-ONLY; Gets the resource name.
2931	Name *string `json:"name,omitempty"`
2932	// Type - READ-ONLY; Gets the resource type.
2933	Type *string `json:"type,omitempty"`
2934	// Location - The resource location.
2935	Location *string `json:"location,omitempty"`
2936	// Tags - The resource tags.
2937	Tags map[string]*string `json:"tags"`
2938}
2939
2940// MarshalJSON is the custom marshaler for IntegrationAccountRosettaNetProcessConfiguration.
2941func (iarnpc IntegrationAccountRosettaNetProcessConfiguration) MarshalJSON() ([]byte, error) {
2942	objectMap := make(map[string]interface{})
2943	if iarnpc.IntegrationAccountRosettaNetProcessConfigurationProperties != nil {
2944		objectMap["properties"] = iarnpc.IntegrationAccountRosettaNetProcessConfigurationProperties
2945	}
2946	if iarnpc.Location != nil {
2947		objectMap["location"] = iarnpc.Location
2948	}
2949	if iarnpc.Tags != nil {
2950		objectMap["tags"] = iarnpc.Tags
2951	}
2952	return json.Marshal(objectMap)
2953}
2954
2955// UnmarshalJSON is the custom unmarshaler for IntegrationAccountRosettaNetProcessConfiguration struct.
2956func (iarnpc *IntegrationAccountRosettaNetProcessConfiguration) UnmarshalJSON(body []byte) error {
2957	var m map[string]*json.RawMessage
2958	err := json.Unmarshal(body, &m)
2959	if err != nil {
2960		return err
2961	}
2962	for k, v := range m {
2963		switch k {
2964		case "properties":
2965			if v != nil {
2966				var integrationAccountRosettaNetProcessConfigurationProperties IntegrationAccountRosettaNetProcessConfigurationProperties
2967				err = json.Unmarshal(*v, &integrationAccountRosettaNetProcessConfigurationProperties)
2968				if err != nil {
2969					return err
2970				}
2971				iarnpc.IntegrationAccountRosettaNetProcessConfigurationProperties = &integrationAccountRosettaNetProcessConfigurationProperties
2972			}
2973		case "id":
2974			if v != nil {
2975				var ID string
2976				err = json.Unmarshal(*v, &ID)
2977				if err != nil {
2978					return err
2979				}
2980				iarnpc.ID = &ID
2981			}
2982		case "name":
2983			if v != nil {
2984				var name string
2985				err = json.Unmarshal(*v, &name)
2986				if err != nil {
2987					return err
2988				}
2989				iarnpc.Name = &name
2990			}
2991		case "type":
2992			if v != nil {
2993				var typeVar string
2994				err = json.Unmarshal(*v, &typeVar)
2995				if err != nil {
2996					return err
2997				}
2998				iarnpc.Type = &typeVar
2999			}
3000		case "location":
3001			if v != nil {
3002				var location string
3003				err = json.Unmarshal(*v, &location)
3004				if err != nil {
3005					return err
3006				}
3007				iarnpc.Location = &location
3008			}
3009		case "tags":
3010			if v != nil {
3011				var tags map[string]*string
3012				err = json.Unmarshal(*v, &tags)
3013				if err != nil {
3014					return err
3015				}
3016				iarnpc.Tags = tags
3017			}
3018		}
3019	}
3020
3021	return nil
3022}
3023
3024// IntegrationAccountRosettaNetProcessConfigurationListResult the list of integration account RosettaNet
3025// process configuration.
3026type IntegrationAccountRosettaNetProcessConfigurationListResult struct {
3027	autorest.Response `json:"-"`
3028	// Value - The list of integration account RosettaNet PIP configuration.
3029	Value *[]IntegrationAccountRosettaNetProcessConfiguration `json:"value,omitempty"`
3030	// NextLink - The URL to get the next set of results.
3031	NextLink *string `json:"nextLink,omitempty"`
3032}
3033
3034// IntegrationAccountRosettaNetProcessConfigurationListResultIterator provides access to a complete listing
3035// of IntegrationAccountRosettaNetProcessConfiguration values.
3036type IntegrationAccountRosettaNetProcessConfigurationListResultIterator struct {
3037	i    int
3038	page IntegrationAccountRosettaNetProcessConfigurationListResultPage
3039}
3040
3041// NextWithContext advances to the next value.  If there was an error making
3042// the request the iterator does not advance and the error is returned.
3043func (iter *IntegrationAccountRosettaNetProcessConfigurationListResultIterator) NextWithContext(ctx context.Context) (err error) {
3044	if tracing.IsEnabled() {
3045		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountRosettaNetProcessConfigurationListResultIterator.NextWithContext")
3046		defer func() {
3047			sc := -1
3048			if iter.Response().Response.Response != nil {
3049				sc = iter.Response().Response.Response.StatusCode
3050			}
3051			tracing.EndSpan(ctx, sc, err)
3052		}()
3053	}
3054	iter.i++
3055	if iter.i < len(iter.page.Values()) {
3056		return nil
3057	}
3058	err = iter.page.NextWithContext(ctx)
3059	if err != nil {
3060		iter.i--
3061		return err
3062	}
3063	iter.i = 0
3064	return nil
3065}
3066
3067// Next advances to the next value.  If there was an error making
3068// the request the iterator does not advance and the error is returned.
3069// Deprecated: Use NextWithContext() instead.
3070func (iter *IntegrationAccountRosettaNetProcessConfigurationListResultIterator) Next() error {
3071	return iter.NextWithContext(context.Background())
3072}
3073
3074// NotDone returns true if the enumeration should be started or is not yet complete.
3075func (iter IntegrationAccountRosettaNetProcessConfigurationListResultIterator) NotDone() bool {
3076	return iter.page.NotDone() && iter.i < len(iter.page.Values())
3077}
3078
3079// Response returns the raw server response from the last page request.
3080func (iter IntegrationAccountRosettaNetProcessConfigurationListResultIterator) Response() IntegrationAccountRosettaNetProcessConfigurationListResult {
3081	return iter.page.Response()
3082}
3083
3084// Value returns the current value or a zero-initialized value if the
3085// iterator has advanced beyond the end of the collection.
3086func (iter IntegrationAccountRosettaNetProcessConfigurationListResultIterator) Value() IntegrationAccountRosettaNetProcessConfiguration {
3087	if !iter.page.NotDone() {
3088		return IntegrationAccountRosettaNetProcessConfiguration{}
3089	}
3090	return iter.page.Values()[iter.i]
3091}
3092
3093// Creates a new instance of the IntegrationAccountRosettaNetProcessConfigurationListResultIterator type.
3094func NewIntegrationAccountRosettaNetProcessConfigurationListResultIterator(page IntegrationAccountRosettaNetProcessConfigurationListResultPage) IntegrationAccountRosettaNetProcessConfigurationListResultIterator {
3095	return IntegrationAccountRosettaNetProcessConfigurationListResultIterator{page: page}
3096}
3097
3098// IsEmpty returns true if the ListResult contains no values.
3099func (iarnpclr IntegrationAccountRosettaNetProcessConfigurationListResult) IsEmpty() bool {
3100	return iarnpclr.Value == nil || len(*iarnpclr.Value) == 0
3101}
3102
3103// integrationAccountRosettaNetProcessConfigurationListResultPreparer prepares a request to retrieve the next set of results.
3104// It returns nil if no more results exist.
3105func (iarnpclr IntegrationAccountRosettaNetProcessConfigurationListResult) integrationAccountRosettaNetProcessConfigurationListResultPreparer(ctx context.Context) (*http.Request, error) {
3106	if iarnpclr.NextLink == nil || len(to.String(iarnpclr.NextLink)) < 1 {
3107		return nil, nil
3108	}
3109	return autorest.Prepare((&http.Request{}).WithContext(ctx),
3110		autorest.AsJSON(),
3111		autorest.AsGet(),
3112		autorest.WithBaseURL(to.String(iarnpclr.NextLink)))
3113}
3114
3115// IntegrationAccountRosettaNetProcessConfigurationListResultPage contains a page of
3116// IntegrationAccountRosettaNetProcessConfiguration values.
3117type IntegrationAccountRosettaNetProcessConfigurationListResultPage struct {
3118	fn       func(context.Context, IntegrationAccountRosettaNetProcessConfigurationListResult) (IntegrationAccountRosettaNetProcessConfigurationListResult, error)
3119	iarnpclr IntegrationAccountRosettaNetProcessConfigurationListResult
3120}
3121
3122// NextWithContext advances to the next page of values.  If there was an error making
3123// the request the page does not advance and the error is returned.
3124func (page *IntegrationAccountRosettaNetProcessConfigurationListResultPage) NextWithContext(ctx context.Context) (err error) {
3125	if tracing.IsEnabled() {
3126		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountRosettaNetProcessConfigurationListResultPage.NextWithContext")
3127		defer func() {
3128			sc := -1
3129			if page.Response().Response.Response != nil {
3130				sc = page.Response().Response.Response.StatusCode
3131			}
3132			tracing.EndSpan(ctx, sc, err)
3133		}()
3134	}
3135	next, err := page.fn(ctx, page.iarnpclr)
3136	if err != nil {
3137		return err
3138	}
3139	page.iarnpclr = next
3140	return nil
3141}
3142
3143// Next advances to the next page of values.  If there was an error making
3144// the request the page does not advance and the error is returned.
3145// Deprecated: Use NextWithContext() instead.
3146func (page *IntegrationAccountRosettaNetProcessConfigurationListResultPage) Next() error {
3147	return page.NextWithContext(context.Background())
3148}
3149
3150// NotDone returns true if the page enumeration should be started or is not yet complete.
3151func (page IntegrationAccountRosettaNetProcessConfigurationListResultPage) NotDone() bool {
3152	return !page.iarnpclr.IsEmpty()
3153}
3154
3155// Response returns the raw server response from the last page request.
3156func (page IntegrationAccountRosettaNetProcessConfigurationListResultPage) Response() IntegrationAccountRosettaNetProcessConfigurationListResult {
3157	return page.iarnpclr
3158}
3159
3160// Values returns the slice of values for the current page or nil if there are no values.
3161func (page IntegrationAccountRosettaNetProcessConfigurationListResultPage) Values() []IntegrationAccountRosettaNetProcessConfiguration {
3162	if page.iarnpclr.IsEmpty() {
3163		return nil
3164	}
3165	return *page.iarnpclr.Value
3166}
3167
3168// Creates a new instance of the IntegrationAccountRosettaNetProcessConfigurationListResultPage type.
3169func NewIntegrationAccountRosettaNetProcessConfigurationListResultPage(getNextPage func(context.Context, IntegrationAccountRosettaNetProcessConfigurationListResult) (IntegrationAccountRosettaNetProcessConfigurationListResult, error)) IntegrationAccountRosettaNetProcessConfigurationListResultPage {
3170	return IntegrationAccountRosettaNetProcessConfigurationListResultPage{fn: getNextPage}
3171}
3172
3173// IntegrationAccountRosettaNetProcessConfigurationProperties the integration account RosettaNet process
3174// configuration properties.
3175type IntegrationAccountRosettaNetProcessConfigurationProperties struct {
3176	// CreatedTime - READ-ONLY; The created time.
3177	CreatedTime *date.Time `json:"createdTime,omitempty"`
3178	// ChangedTime - READ-ONLY; The changed time.
3179	ChangedTime *date.Time `json:"changedTime,omitempty"`
3180	// Metadata - The metadata.
3181	Metadata map[string]*string `json:"metadata"`
3182	// ActivitySettings - The RosettaNet process configuration activity settings.
3183	ActivitySettings *RosettaNetPipActivitySettings `json:"activitySettings,omitempty"`
3184	// ProcessCode - The integration account RosettaNet process code.
3185	ProcessCode *string `json:"processCode,omitempty"`
3186	// ProcessVersion - The integration account RosettaNet process version.
3187	ProcessVersion *string `json:"processVersion,omitempty"`
3188	// ProcessName - The integration account RosettaNet process name.
3189	ProcessName *string `json:"processName,omitempty"`
3190	// InitiatorRoleSettings - The RosettaNet initiator role settings.
3191	InitiatorRoleSettings *RosettaNetPipRoleSettings `json:"initiatorRoleSettings,omitempty"`
3192	// ResponderRoleSettings - The RosettaNet responder role settings.
3193	ResponderRoleSettings *RosettaNetPipRoleSettings `json:"responderRoleSettings,omitempty"`
3194	// Description - The integration account RosettaNet ProcessConfiguration properties.
3195	Description *string `json:"description,omitempty"`
3196}
3197
3198// MarshalJSON is the custom marshaler for IntegrationAccountRosettaNetProcessConfigurationProperties.
3199func (iarnpcp IntegrationAccountRosettaNetProcessConfigurationProperties) MarshalJSON() ([]byte, error) {
3200	objectMap := make(map[string]interface{})
3201	if iarnpcp.Metadata != nil {
3202		objectMap["metadata"] = iarnpcp.Metadata
3203	}
3204	if iarnpcp.ActivitySettings != nil {
3205		objectMap["activitySettings"] = iarnpcp.ActivitySettings
3206	}
3207	if iarnpcp.ProcessCode != nil {
3208		objectMap["processCode"] = iarnpcp.ProcessCode
3209	}
3210	if iarnpcp.ProcessVersion != nil {
3211		objectMap["processVersion"] = iarnpcp.ProcessVersion
3212	}
3213	if iarnpcp.ProcessName != nil {
3214		objectMap["processName"] = iarnpcp.ProcessName
3215	}
3216	if iarnpcp.InitiatorRoleSettings != nil {
3217		objectMap["initiatorRoleSettings"] = iarnpcp.InitiatorRoleSettings
3218	}
3219	if iarnpcp.ResponderRoleSettings != nil {
3220		objectMap["responderRoleSettings"] = iarnpcp.ResponderRoleSettings
3221	}
3222	if iarnpcp.Description != nil {
3223		objectMap["description"] = iarnpcp.Description
3224	}
3225	return json.Marshal(objectMap)
3226}
3227
3228// IntegrationAccountSchema the integration account schema.
3229type IntegrationAccountSchema struct {
3230	autorest.Response `json:"-"`
3231	// IntegrationAccountSchemaProperties - The integration account schema properties.
3232	*IntegrationAccountSchemaProperties `json:"properties,omitempty"`
3233	// ID - READ-ONLY; The resource id.
3234	ID *string `json:"id,omitempty"`
3235	// Name - READ-ONLY; Gets the resource name.
3236	Name *string `json:"name,omitempty"`
3237	// Type - READ-ONLY; Gets the resource type.
3238	Type *string `json:"type,omitempty"`
3239	// Location - The resource location.
3240	Location *string `json:"location,omitempty"`
3241	// Tags - The resource tags.
3242	Tags map[string]*string `json:"tags"`
3243}
3244
3245// MarshalJSON is the custom marshaler for IntegrationAccountSchema.
3246func (ias IntegrationAccountSchema) MarshalJSON() ([]byte, error) {
3247	objectMap := make(map[string]interface{})
3248	if ias.IntegrationAccountSchemaProperties != nil {
3249		objectMap["properties"] = ias.IntegrationAccountSchemaProperties
3250	}
3251	if ias.Location != nil {
3252		objectMap["location"] = ias.Location
3253	}
3254	if ias.Tags != nil {
3255		objectMap["tags"] = ias.Tags
3256	}
3257	return json.Marshal(objectMap)
3258}
3259
3260// UnmarshalJSON is the custom unmarshaler for IntegrationAccountSchema struct.
3261func (ias *IntegrationAccountSchema) UnmarshalJSON(body []byte) error {
3262	var m map[string]*json.RawMessage
3263	err := json.Unmarshal(body, &m)
3264	if err != nil {
3265		return err
3266	}
3267	for k, v := range m {
3268		switch k {
3269		case "properties":
3270			if v != nil {
3271				var integrationAccountSchemaProperties IntegrationAccountSchemaProperties
3272				err = json.Unmarshal(*v, &integrationAccountSchemaProperties)
3273				if err != nil {
3274					return err
3275				}
3276				ias.IntegrationAccountSchemaProperties = &integrationAccountSchemaProperties
3277			}
3278		case "id":
3279			if v != nil {
3280				var ID string
3281				err = json.Unmarshal(*v, &ID)
3282				if err != nil {
3283					return err
3284				}
3285				ias.ID = &ID
3286			}
3287		case "name":
3288			if v != nil {
3289				var name string
3290				err = json.Unmarshal(*v, &name)
3291				if err != nil {
3292					return err
3293				}
3294				ias.Name = &name
3295			}
3296		case "type":
3297			if v != nil {
3298				var typeVar string
3299				err = json.Unmarshal(*v, &typeVar)
3300				if err != nil {
3301					return err
3302				}
3303				ias.Type = &typeVar
3304			}
3305		case "location":
3306			if v != nil {
3307				var location string
3308				err = json.Unmarshal(*v, &location)
3309				if err != nil {
3310					return err
3311				}
3312				ias.Location = &location
3313			}
3314		case "tags":
3315			if v != nil {
3316				var tags map[string]*string
3317				err = json.Unmarshal(*v, &tags)
3318				if err != nil {
3319					return err
3320				}
3321				ias.Tags = tags
3322			}
3323		}
3324	}
3325
3326	return nil
3327}
3328
3329// IntegrationAccountSchemaFilter the integration account schema filter for odata query.
3330type IntegrationAccountSchemaFilter struct {
3331	// SchemaType - The schema type of integration account schema. Possible values include: 'SchemaTypeNotSpecified', 'SchemaTypeXML'
3332	SchemaType SchemaType `json:"schemaType,omitempty"`
3333}
3334
3335// IntegrationAccountSchemaListResult the list of integration account schemas.
3336type IntegrationAccountSchemaListResult struct {
3337	autorest.Response `json:"-"`
3338	// Value - The list of integration account schemas.
3339	Value *[]IntegrationAccountSchema `json:"value,omitempty"`
3340	// NextLink - The URL to get the next set of results.
3341	NextLink *string `json:"nextLink,omitempty"`
3342}
3343
3344// IntegrationAccountSchemaListResultIterator provides access to a complete listing of
3345// IntegrationAccountSchema values.
3346type IntegrationAccountSchemaListResultIterator struct {
3347	i    int
3348	page IntegrationAccountSchemaListResultPage
3349}
3350
3351// NextWithContext advances to the next value.  If there was an error making
3352// the request the iterator does not advance and the error is returned.
3353func (iter *IntegrationAccountSchemaListResultIterator) NextWithContext(ctx context.Context) (err error) {
3354	if tracing.IsEnabled() {
3355		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemaListResultIterator.NextWithContext")
3356		defer func() {
3357			sc := -1
3358			if iter.Response().Response.Response != nil {
3359				sc = iter.Response().Response.Response.StatusCode
3360			}
3361			tracing.EndSpan(ctx, sc, err)
3362		}()
3363	}
3364	iter.i++
3365	if iter.i < len(iter.page.Values()) {
3366		return nil
3367	}
3368	err = iter.page.NextWithContext(ctx)
3369	if err != nil {
3370		iter.i--
3371		return err
3372	}
3373	iter.i = 0
3374	return nil
3375}
3376
3377// Next advances to the next value.  If there was an error making
3378// the request the iterator does not advance and the error is returned.
3379// Deprecated: Use NextWithContext() instead.
3380func (iter *IntegrationAccountSchemaListResultIterator) Next() error {
3381	return iter.NextWithContext(context.Background())
3382}
3383
3384// NotDone returns true if the enumeration should be started or is not yet complete.
3385func (iter IntegrationAccountSchemaListResultIterator) NotDone() bool {
3386	return iter.page.NotDone() && iter.i < len(iter.page.Values())
3387}
3388
3389// Response returns the raw server response from the last page request.
3390func (iter IntegrationAccountSchemaListResultIterator) Response() IntegrationAccountSchemaListResult {
3391	return iter.page.Response()
3392}
3393
3394// Value returns the current value or a zero-initialized value if the
3395// iterator has advanced beyond the end of the collection.
3396func (iter IntegrationAccountSchemaListResultIterator) Value() IntegrationAccountSchema {
3397	if !iter.page.NotDone() {
3398		return IntegrationAccountSchema{}
3399	}
3400	return iter.page.Values()[iter.i]
3401}
3402
3403// Creates a new instance of the IntegrationAccountSchemaListResultIterator type.
3404func NewIntegrationAccountSchemaListResultIterator(page IntegrationAccountSchemaListResultPage) IntegrationAccountSchemaListResultIterator {
3405	return IntegrationAccountSchemaListResultIterator{page: page}
3406}
3407
3408// IsEmpty returns true if the ListResult contains no values.
3409func (iaslr IntegrationAccountSchemaListResult) IsEmpty() bool {
3410	return iaslr.Value == nil || len(*iaslr.Value) == 0
3411}
3412
3413// integrationAccountSchemaListResultPreparer prepares a request to retrieve the next set of results.
3414// It returns nil if no more results exist.
3415func (iaslr IntegrationAccountSchemaListResult) integrationAccountSchemaListResultPreparer(ctx context.Context) (*http.Request, error) {
3416	if iaslr.NextLink == nil || len(to.String(iaslr.NextLink)) < 1 {
3417		return nil, nil
3418	}
3419	return autorest.Prepare((&http.Request{}).WithContext(ctx),
3420		autorest.AsJSON(),
3421		autorest.AsGet(),
3422		autorest.WithBaseURL(to.String(iaslr.NextLink)))
3423}
3424
3425// IntegrationAccountSchemaListResultPage contains a page of IntegrationAccountSchema values.
3426type IntegrationAccountSchemaListResultPage struct {
3427	fn    func(context.Context, IntegrationAccountSchemaListResult) (IntegrationAccountSchemaListResult, error)
3428	iaslr IntegrationAccountSchemaListResult
3429}
3430
3431// NextWithContext advances to the next page of values.  If there was an error making
3432// the request the page does not advance and the error is returned.
3433func (page *IntegrationAccountSchemaListResultPage) NextWithContext(ctx context.Context) (err error) {
3434	if tracing.IsEnabled() {
3435		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemaListResultPage.NextWithContext")
3436		defer func() {
3437			sc := -1
3438			if page.Response().Response.Response != nil {
3439				sc = page.Response().Response.Response.StatusCode
3440			}
3441			tracing.EndSpan(ctx, sc, err)
3442		}()
3443	}
3444	next, err := page.fn(ctx, page.iaslr)
3445	if err != nil {
3446		return err
3447	}
3448	page.iaslr = next
3449	return nil
3450}
3451
3452// Next advances to the next page of values.  If there was an error making
3453// the request the page does not advance and the error is returned.
3454// Deprecated: Use NextWithContext() instead.
3455func (page *IntegrationAccountSchemaListResultPage) Next() error {
3456	return page.NextWithContext(context.Background())
3457}
3458
3459// NotDone returns true if the page enumeration should be started or is not yet complete.
3460func (page IntegrationAccountSchemaListResultPage) NotDone() bool {
3461	return !page.iaslr.IsEmpty()
3462}
3463
3464// Response returns the raw server response from the last page request.
3465func (page IntegrationAccountSchemaListResultPage) Response() IntegrationAccountSchemaListResult {
3466	return page.iaslr
3467}
3468
3469// Values returns the slice of values for the current page or nil if there are no values.
3470func (page IntegrationAccountSchemaListResultPage) Values() []IntegrationAccountSchema {
3471	if page.iaslr.IsEmpty() {
3472		return nil
3473	}
3474	return *page.iaslr.Value
3475}
3476
3477// Creates a new instance of the IntegrationAccountSchemaListResultPage type.
3478func NewIntegrationAccountSchemaListResultPage(getNextPage func(context.Context, IntegrationAccountSchemaListResult) (IntegrationAccountSchemaListResult, error)) IntegrationAccountSchemaListResultPage {
3479	return IntegrationAccountSchemaListResultPage{fn: getNextPage}
3480}
3481
3482// IntegrationAccountSchemaProperties the integration account schema properties.
3483type IntegrationAccountSchemaProperties struct {
3484	// SchemaType - The schema type. Possible values include: 'SchemaTypeNotSpecified', 'SchemaTypeXML'
3485	SchemaType SchemaType `json:"schemaType,omitempty"`
3486	// TargetNamespace - The target namespace of the schema.
3487	TargetNamespace *string `json:"targetNamespace,omitempty"`
3488	// DocumentName - The document name.
3489	DocumentName *string `json:"documentName,omitempty"`
3490	// FileName - The file name.
3491	FileName *string `json:"fileName,omitempty"`
3492	// CreatedTime - READ-ONLY; The created time.
3493	CreatedTime *date.Time `json:"createdTime,omitempty"`
3494	// ChangedTime - READ-ONLY; The changed time.
3495	ChangedTime *date.Time `json:"changedTime,omitempty"`
3496	// Metadata - The metadata.
3497	Metadata interface{} `json:"metadata,omitempty"`
3498	// Content - The content.
3499	Content *string `json:"content,omitempty"`
3500	// ContentType - The content type.
3501	ContentType *string `json:"contentType,omitempty"`
3502	// ContentLink - READ-ONLY; The content link.
3503	ContentLink *ContentLink `json:"contentLink,omitempty"`
3504}
3505
3506// IntegrationAccountSession the integration account session.
3507type IntegrationAccountSession struct {
3508	autorest.Response `json:"-"`
3509	// IntegrationAccountSessionProperties - The integration account session properties.
3510	*IntegrationAccountSessionProperties `json:"properties,omitempty"`
3511	// ID - READ-ONLY; The resource id.
3512	ID *string `json:"id,omitempty"`
3513	// Name - READ-ONLY; Gets the resource name.
3514	Name *string `json:"name,omitempty"`
3515	// Type - READ-ONLY; Gets the resource type.
3516	Type *string `json:"type,omitempty"`
3517	// Location - The resource location.
3518	Location *string `json:"location,omitempty"`
3519	// Tags - The resource tags.
3520	Tags map[string]*string `json:"tags"`
3521}
3522
3523// MarshalJSON is the custom marshaler for IntegrationAccountSession.
3524func (ias IntegrationAccountSession) MarshalJSON() ([]byte, error) {
3525	objectMap := make(map[string]interface{})
3526	if ias.IntegrationAccountSessionProperties != nil {
3527		objectMap["properties"] = ias.IntegrationAccountSessionProperties
3528	}
3529	if ias.Location != nil {
3530		objectMap["location"] = ias.Location
3531	}
3532	if ias.Tags != nil {
3533		objectMap["tags"] = ias.Tags
3534	}
3535	return json.Marshal(objectMap)
3536}
3537
3538// UnmarshalJSON is the custom unmarshaler for IntegrationAccountSession struct.
3539func (ias *IntegrationAccountSession) UnmarshalJSON(body []byte) error {
3540	var m map[string]*json.RawMessage
3541	err := json.Unmarshal(body, &m)
3542	if err != nil {
3543		return err
3544	}
3545	for k, v := range m {
3546		switch k {
3547		case "properties":
3548			if v != nil {
3549				var integrationAccountSessionProperties IntegrationAccountSessionProperties
3550				err = json.Unmarshal(*v, &integrationAccountSessionProperties)
3551				if err != nil {
3552					return err
3553				}
3554				ias.IntegrationAccountSessionProperties = &integrationAccountSessionProperties
3555			}
3556		case "id":
3557			if v != nil {
3558				var ID string
3559				err = json.Unmarshal(*v, &ID)
3560				if err != nil {
3561					return err
3562				}
3563				ias.ID = &ID
3564			}
3565		case "name":
3566			if v != nil {
3567				var name string
3568				err = json.Unmarshal(*v, &name)
3569				if err != nil {
3570					return err
3571				}
3572				ias.Name = &name
3573			}
3574		case "type":
3575			if v != nil {
3576				var typeVar string
3577				err = json.Unmarshal(*v, &typeVar)
3578				if err != nil {
3579					return err
3580				}
3581				ias.Type = &typeVar
3582			}
3583		case "location":
3584			if v != nil {
3585				var location string
3586				err = json.Unmarshal(*v, &location)
3587				if err != nil {
3588					return err
3589				}
3590				ias.Location = &location
3591			}
3592		case "tags":
3593			if v != nil {
3594				var tags map[string]*string
3595				err = json.Unmarshal(*v, &tags)
3596				if err != nil {
3597					return err
3598				}
3599				ias.Tags = tags
3600			}
3601		}
3602	}
3603
3604	return nil
3605}
3606
3607// IntegrationAccountSessionFilter the integration account session filter.
3608type IntegrationAccountSessionFilter struct {
3609	// ChangedTime - The changed time of integration account sessions.
3610	ChangedTime *date.Time `json:"changedTime,omitempty"`
3611}
3612
3613// IntegrationAccountSessionListResult the list of integration account sessions.
3614type IntegrationAccountSessionListResult struct {
3615	autorest.Response `json:"-"`
3616	// Value - The list of integration account sessions.
3617	Value *[]IntegrationAccountSession `json:"value,omitempty"`
3618	// NextLink - The URL to get the next set of results.
3619	NextLink *string `json:"nextLink,omitempty"`
3620}
3621
3622// IntegrationAccountSessionListResultIterator provides access to a complete listing of
3623// IntegrationAccountSession values.
3624type IntegrationAccountSessionListResultIterator struct {
3625	i    int
3626	page IntegrationAccountSessionListResultPage
3627}
3628
3629// NextWithContext advances to the next value.  If there was an error making
3630// the request the iterator does not advance and the error is returned.
3631func (iter *IntegrationAccountSessionListResultIterator) NextWithContext(ctx context.Context) (err error) {
3632	if tracing.IsEnabled() {
3633		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionListResultIterator.NextWithContext")
3634		defer func() {
3635			sc := -1
3636			if iter.Response().Response.Response != nil {
3637				sc = iter.Response().Response.Response.StatusCode
3638			}
3639			tracing.EndSpan(ctx, sc, err)
3640		}()
3641	}
3642	iter.i++
3643	if iter.i < len(iter.page.Values()) {
3644		return nil
3645	}
3646	err = iter.page.NextWithContext(ctx)
3647	if err != nil {
3648		iter.i--
3649		return err
3650	}
3651	iter.i = 0
3652	return nil
3653}
3654
3655// Next advances to the next value.  If there was an error making
3656// the request the iterator does not advance and the error is returned.
3657// Deprecated: Use NextWithContext() instead.
3658func (iter *IntegrationAccountSessionListResultIterator) Next() error {
3659	return iter.NextWithContext(context.Background())
3660}
3661
3662// NotDone returns true if the enumeration should be started or is not yet complete.
3663func (iter IntegrationAccountSessionListResultIterator) NotDone() bool {
3664	return iter.page.NotDone() && iter.i < len(iter.page.Values())
3665}
3666
3667// Response returns the raw server response from the last page request.
3668func (iter IntegrationAccountSessionListResultIterator) Response() IntegrationAccountSessionListResult {
3669	return iter.page.Response()
3670}
3671
3672// Value returns the current value or a zero-initialized value if the
3673// iterator has advanced beyond the end of the collection.
3674func (iter IntegrationAccountSessionListResultIterator) Value() IntegrationAccountSession {
3675	if !iter.page.NotDone() {
3676		return IntegrationAccountSession{}
3677	}
3678	return iter.page.Values()[iter.i]
3679}
3680
3681// Creates a new instance of the IntegrationAccountSessionListResultIterator type.
3682func NewIntegrationAccountSessionListResultIterator(page IntegrationAccountSessionListResultPage) IntegrationAccountSessionListResultIterator {
3683	return IntegrationAccountSessionListResultIterator{page: page}
3684}
3685
3686// IsEmpty returns true if the ListResult contains no values.
3687func (iaslr IntegrationAccountSessionListResult) IsEmpty() bool {
3688	return iaslr.Value == nil || len(*iaslr.Value) == 0
3689}
3690
3691// integrationAccountSessionListResultPreparer prepares a request to retrieve the next set of results.
3692// It returns nil if no more results exist.
3693func (iaslr IntegrationAccountSessionListResult) integrationAccountSessionListResultPreparer(ctx context.Context) (*http.Request, error) {
3694	if iaslr.NextLink == nil || len(to.String(iaslr.NextLink)) < 1 {
3695		return nil, nil
3696	}
3697	return autorest.Prepare((&http.Request{}).WithContext(ctx),
3698		autorest.AsJSON(),
3699		autorest.AsGet(),
3700		autorest.WithBaseURL(to.String(iaslr.NextLink)))
3701}
3702
3703// IntegrationAccountSessionListResultPage contains a page of IntegrationAccountSession values.
3704type IntegrationAccountSessionListResultPage struct {
3705	fn    func(context.Context, IntegrationAccountSessionListResult) (IntegrationAccountSessionListResult, error)
3706	iaslr IntegrationAccountSessionListResult
3707}
3708
3709// NextWithContext advances to the next page of values.  If there was an error making
3710// the request the page does not advance and the error is returned.
3711func (page *IntegrationAccountSessionListResultPage) NextWithContext(ctx context.Context) (err error) {
3712	if tracing.IsEnabled() {
3713		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionListResultPage.NextWithContext")
3714		defer func() {
3715			sc := -1
3716			if page.Response().Response.Response != nil {
3717				sc = page.Response().Response.Response.StatusCode
3718			}
3719			tracing.EndSpan(ctx, sc, err)
3720		}()
3721	}
3722	next, err := page.fn(ctx, page.iaslr)
3723	if err != nil {
3724		return err
3725	}
3726	page.iaslr = next
3727	return nil
3728}
3729
3730// Next advances to the next page of values.  If there was an error making
3731// the request the page does not advance and the error is returned.
3732// Deprecated: Use NextWithContext() instead.
3733func (page *IntegrationAccountSessionListResultPage) Next() error {
3734	return page.NextWithContext(context.Background())
3735}
3736
3737// NotDone returns true if the page enumeration should be started or is not yet complete.
3738func (page IntegrationAccountSessionListResultPage) NotDone() bool {
3739	return !page.iaslr.IsEmpty()
3740}
3741
3742// Response returns the raw server response from the last page request.
3743func (page IntegrationAccountSessionListResultPage) Response() IntegrationAccountSessionListResult {
3744	return page.iaslr
3745}
3746
3747// Values returns the slice of values for the current page or nil if there are no values.
3748func (page IntegrationAccountSessionListResultPage) Values() []IntegrationAccountSession {
3749	if page.iaslr.IsEmpty() {
3750		return nil
3751	}
3752	return *page.iaslr.Value
3753}
3754
3755// Creates a new instance of the IntegrationAccountSessionListResultPage type.
3756func NewIntegrationAccountSessionListResultPage(getNextPage func(context.Context, IntegrationAccountSessionListResult) (IntegrationAccountSessionListResult, error)) IntegrationAccountSessionListResultPage {
3757	return IntegrationAccountSessionListResultPage{fn: getNextPage}
3758}
3759
3760// IntegrationAccountSessionProperties the integration account session properties.
3761type IntegrationAccountSessionProperties struct {
3762	// CreatedTime - READ-ONLY; The created time.
3763	CreatedTime *date.Time `json:"createdTime,omitempty"`
3764	// ChangedTime - READ-ONLY; The changed time.
3765	ChangedTime *date.Time `json:"changedTime,omitempty"`
3766	// Content - The session content.
3767	Content interface{} `json:"content,omitempty"`
3768}
3769
3770// IntegrationAccountSku the integration account sku.
3771type IntegrationAccountSku struct {
3772	// Name - The sku name. Possible values include: 'IntegrationAccountSkuNameNotSpecified', 'IntegrationAccountSkuNameFree', 'IntegrationAccountSkuNameStandard'
3773	Name IntegrationAccountSkuName `json:"name,omitempty"`
3774}
3775
3776// JSONSchema the JSON schema.
3777type JSONSchema struct {
3778	autorest.Response `json:"-"`
3779	// Title - The JSON title.
3780	Title *string `json:"title,omitempty"`
3781	// Content - The JSON content.
3782	Content *string `json:"content,omitempty"`
3783}
3784
3785// KeyVaultKey the key vault key.
3786type KeyVaultKey struct {
3787	// Kid - The key id.
3788	Kid *string `json:"kid,omitempty"`
3789	// Attributes - The key attributes.
3790	Attributes *KeyVaultKeyAttributes `json:"attributes,omitempty"`
3791}
3792
3793// KeyVaultKeyAttributes the key attributes.
3794type KeyVaultKeyAttributes struct {
3795	// Enabled - Whether the key is enabled or not.
3796	Enabled *bool `json:"enabled,omitempty"`
3797	// Created - When the key was created.
3798	Created *int64 `json:"created,omitempty"`
3799	// Updated - When the key was updated.
3800	Updated *int64 `json:"updated,omitempty"`
3801}
3802
3803// KeyVaultKeyCollection collection of key vault keys.
3804type KeyVaultKeyCollection struct {
3805	autorest.Response `json:"-"`
3806	// Value - The key vault keys.
3807	Value *[]KeyVaultKey `json:"value,omitempty"`
3808	// SkipToken - The skip token.
3809	SkipToken *string `json:"skipToken,omitempty"`
3810}
3811
3812// KeyVaultKeyReference the reference to the key vault key.
3813type KeyVaultKeyReference struct {
3814	// KeyVault - The key vault reference.
3815	KeyVault *KeyVaultKeyReferenceKeyVault `json:"keyVault,omitempty"`
3816	// KeyName - The private key name in key vault.
3817	KeyName *string `json:"keyName,omitempty"`
3818	// KeyVersion - The private key version in key vault.
3819	KeyVersion *string `json:"keyVersion,omitempty"`
3820}
3821
3822// KeyVaultKeyReferenceKeyVault the key vault reference.
3823type KeyVaultKeyReferenceKeyVault struct {
3824	// ID - The resource id.
3825	ID *string `json:"id,omitempty"`
3826	// Name - READ-ONLY; The resource name.
3827	Name *string `json:"name,omitempty"`
3828	// Type - READ-ONLY; The resource type.
3829	Type *string `json:"type,omitempty"`
3830}
3831
3832// KeyVaultReference the key vault reference.
3833type KeyVaultReference struct {
3834	// ID - READ-ONLY; The resource id.
3835	ID *string `json:"id,omitempty"`
3836	// Name - READ-ONLY; Gets the resource name.
3837	Name *string `json:"name,omitempty"`
3838	// Type - READ-ONLY; Gets the resource type.
3839	Type *string `json:"type,omitempty"`
3840}
3841
3842// ListKeyVaultKeysDefinition the list key vault keys definition.
3843type ListKeyVaultKeysDefinition struct {
3844	// KeyVault - The key vault reference.
3845	KeyVault *KeyVaultReference `json:"keyVault,omitempty"`
3846	// SkipToken - The skip token.
3847	SkipToken *string `json:"skipToken,omitempty"`
3848}
3849
3850// Operation logic REST API operation
3851type Operation struct {
3852	// Name - Operation name: {provider}/{resource}/{operation}
3853	Name *string `json:"name,omitempty"`
3854	// Display - The object that represents the operation.
3855	Display *OperationDisplay `json:"display,omitempty"`
3856}
3857
3858// OperationDisplay the object that represents the operation.
3859type OperationDisplay struct {
3860	// Provider - Service provider: Microsoft.Logic
3861	Provider *string `json:"provider,omitempty"`
3862	// Resource - Resource on which the operation is performed: Profile, endpoint, etc.
3863	Resource *string `json:"resource,omitempty"`
3864	// Operation - Operation type: Read, write, delete, etc.
3865	Operation *string `json:"operation,omitempty"`
3866}
3867
3868// OperationListResult result of the request to list Logic operations. It contains a list of operations and
3869// a URL link to get the next set of results.
3870type OperationListResult struct {
3871	autorest.Response `json:"-"`
3872	// Value - List of Logic operations supported by the Logic resource provider.
3873	Value *[]Operation `json:"value,omitempty"`
3874	// NextLink - URL to get the next set of operation list results if there are any.
3875	NextLink *string `json:"nextLink,omitempty"`
3876}
3877
3878// OperationListResultIterator provides access to a complete listing of Operation values.
3879type OperationListResultIterator struct {
3880	i    int
3881	page OperationListResultPage
3882}
3883
3884// NextWithContext advances to the next value.  If there was an error making
3885// the request the iterator does not advance and the error is returned.
3886func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) {
3887	if tracing.IsEnabled() {
3888		ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext")
3889		defer func() {
3890			sc := -1
3891			if iter.Response().Response.Response != nil {
3892				sc = iter.Response().Response.Response.StatusCode
3893			}
3894			tracing.EndSpan(ctx, sc, err)
3895		}()
3896	}
3897	iter.i++
3898	if iter.i < len(iter.page.Values()) {
3899		return nil
3900	}
3901	err = iter.page.NextWithContext(ctx)
3902	if err != nil {
3903		iter.i--
3904		return err
3905	}
3906	iter.i = 0
3907	return nil
3908}
3909
3910// Next advances to the next value.  If there was an error making
3911// the request the iterator does not advance and the error is returned.
3912// Deprecated: Use NextWithContext() instead.
3913func (iter *OperationListResultIterator) Next() error {
3914	return iter.NextWithContext(context.Background())
3915}
3916
3917// NotDone returns true if the enumeration should be started or is not yet complete.
3918func (iter OperationListResultIterator) NotDone() bool {
3919	return iter.page.NotDone() && iter.i < len(iter.page.Values())
3920}
3921
3922// Response returns the raw server response from the last page request.
3923func (iter OperationListResultIterator) Response() OperationListResult {
3924	return iter.page.Response()
3925}
3926
3927// Value returns the current value or a zero-initialized value if the
3928// iterator has advanced beyond the end of the collection.
3929func (iter OperationListResultIterator) Value() Operation {
3930	if !iter.page.NotDone() {
3931		return Operation{}
3932	}
3933	return iter.page.Values()[iter.i]
3934}
3935
3936// Creates a new instance of the OperationListResultIterator type.
3937func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator {
3938	return OperationListResultIterator{page: page}
3939}
3940
3941// IsEmpty returns true if the ListResult contains no values.
3942func (olr OperationListResult) IsEmpty() bool {
3943	return olr.Value == nil || len(*olr.Value) == 0
3944}
3945
3946// operationListResultPreparer prepares a request to retrieve the next set of results.
3947// It returns nil if no more results exist.
3948func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) {
3949	if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 {
3950		return nil, nil
3951	}
3952	return autorest.Prepare((&http.Request{}).WithContext(ctx),
3953		autorest.AsJSON(),
3954		autorest.AsGet(),
3955		autorest.WithBaseURL(to.String(olr.NextLink)))
3956}
3957
3958// OperationListResultPage contains a page of Operation values.
3959type OperationListResultPage struct {
3960	fn  func(context.Context, OperationListResult) (OperationListResult, error)
3961	olr OperationListResult
3962}
3963
3964// NextWithContext advances to the next page of values.  If there was an error making
3965// the request the page does not advance and the error is returned.
3966func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) {
3967	if tracing.IsEnabled() {
3968		ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext")
3969		defer func() {
3970			sc := -1
3971			if page.Response().Response.Response != nil {
3972				sc = page.Response().Response.Response.StatusCode
3973			}
3974			tracing.EndSpan(ctx, sc, err)
3975		}()
3976	}
3977	next, err := page.fn(ctx, page.olr)
3978	if err != nil {
3979		return err
3980	}
3981	page.olr = next
3982	return nil
3983}
3984
3985// Next advances to the next page of values.  If there was an error making
3986// the request the page does not advance and the error is returned.
3987// Deprecated: Use NextWithContext() instead.
3988func (page *OperationListResultPage) Next() error {
3989	return page.NextWithContext(context.Background())
3990}
3991
3992// NotDone returns true if the page enumeration should be started or is not yet complete.
3993func (page OperationListResultPage) NotDone() bool {
3994	return !page.olr.IsEmpty()
3995}
3996
3997// Response returns the raw server response from the last page request.
3998func (page OperationListResultPage) Response() OperationListResult {
3999	return page.olr
4000}
4001
4002// Values returns the slice of values for the current page or nil if there are no values.
4003func (page OperationListResultPage) Values() []Operation {
4004	if page.olr.IsEmpty() {
4005		return nil
4006	}
4007	return *page.olr.Value
4008}
4009
4010// Creates a new instance of the OperationListResultPage type.
4011func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage {
4012	return OperationListResultPage{fn: getNextPage}
4013}
4014
4015// OperationResult the operation result definition.
4016type OperationResult struct {
4017	// TrackingID - READ-ONLY; Gets the tracking id.
4018	TrackingID *string `json:"trackingId,omitempty"`
4019	// Inputs - READ-ONLY; Gets the inputs.
4020	Inputs interface{} `json:"inputs,omitempty"`
4021	// InputsLink - READ-ONLY; Gets the link to inputs.
4022	InputsLink *ContentLink `json:"inputsLink,omitempty"`
4023	// Outputs - READ-ONLY; Gets the outputs.
4024	Outputs interface{} `json:"outputs,omitempty"`
4025	// OutputsLink - READ-ONLY; Gets the link to outputs.
4026	OutputsLink *ContentLink `json:"outputsLink,omitempty"`
4027	// TrackedProperties - READ-ONLY; Gets the tracked properties.
4028	TrackedProperties interface{} `json:"trackedProperties,omitempty"`
4029	// RetryHistory - Gets the retry histories.
4030	RetryHistory   *[]RetryHistory `json:"retryHistory,omitempty"`
4031	IterationCount *int32          `json:"iterationCount,omitempty"`
4032	// StartTime - The start time of the workflow scope repetition.
4033	StartTime *date.Time `json:"startTime,omitempty"`
4034	// EndTime - The end time of the workflow scope repetition.
4035	EndTime *date.Time `json:"endTime,omitempty"`
4036	// Correlation - The correlation properties.
4037	Correlation *RunActionCorrelation `json:"correlation,omitempty"`
4038	// Status - The status of the workflow scope repetition. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
4039	Status WorkflowStatus `json:"status,omitempty"`
4040	// Code - The workflow scope repetition code.
4041	Code  *string     `json:"code,omitempty"`
4042	Error interface{} `json:"error,omitempty"`
4043}
4044
4045// OperationResultProperties the run operation result properties.
4046type OperationResultProperties struct {
4047	// StartTime - The start time of the workflow scope repetition.
4048	StartTime *date.Time `json:"startTime,omitempty"`
4049	// EndTime - The end time of the workflow scope repetition.
4050	EndTime *date.Time `json:"endTime,omitempty"`
4051	// Correlation - The correlation properties.
4052	Correlation *RunActionCorrelation `json:"correlation,omitempty"`
4053	// Status - The status of the workflow scope repetition. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
4054	Status WorkflowStatus `json:"status,omitempty"`
4055	// Code - The workflow scope repetition code.
4056	Code  *string     `json:"code,omitempty"`
4057	Error interface{} `json:"error,omitempty"`
4058}
4059
4060// PartnerContent the integration account partner content.
4061type PartnerContent struct {
4062	// B2b - The B2B partner content.
4063	B2b *B2BPartnerContent `json:"b2b,omitempty"`
4064}
4065
4066// RecurrenceSchedule the recurrence schedule.
4067type RecurrenceSchedule struct {
4068	// Minutes - The minutes.
4069	Minutes *[]int32 `json:"minutes,omitempty"`
4070	// Hours - The hours.
4071	Hours *[]int32 `json:"hours,omitempty"`
4072	// WeekDays - The days of the week.
4073	WeekDays *[]DaysOfWeek `json:"weekDays,omitempty"`
4074	// MonthDays - The month days.
4075	MonthDays *[]int32 `json:"monthDays,omitempty"`
4076	// MonthlyOccurrences - The monthly occurrences.
4077	MonthlyOccurrences *[]RecurrenceScheduleOccurrence `json:"monthlyOccurrences,omitempty"`
4078}
4079
4080// RecurrenceScheduleOccurrence the recurrence schedule occurrence.
4081type RecurrenceScheduleOccurrence struct {
4082	// Day - The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
4083	Day DayOfWeek `json:"day,omitempty"`
4084	// Occurrence - The occurrence.
4085	Occurrence *int32 `json:"occurrence,omitempty"`
4086}
4087
4088// RegenerateActionParameter the access key regenerate action content.
4089type RegenerateActionParameter struct {
4090	// KeyType - The key type. Possible values include: 'KeyTypeNotSpecified', 'KeyTypePrimary', 'KeyTypeSecondary'
4091	KeyType KeyType `json:"keyType,omitempty"`
4092}
4093
4094// RepetitionIndex the workflow run action repetition index.
4095type RepetitionIndex struct {
4096	// ScopeName - The scope.
4097	ScopeName *string `json:"scopeName,omitempty"`
4098	// ItemIndex - The index.
4099	ItemIndex *int32 `json:"itemIndex,omitempty"`
4100}
4101
4102// Request a request.
4103type Request struct {
4104	// Headers - A list of all the headers attached to the request.
4105	Headers interface{} `json:"headers,omitempty"`
4106	// URI - The destination for the request.
4107	URI *string `json:"uri,omitempty"`
4108	// Method - The HTTP method used for the request.
4109	Method *string `json:"method,omitempty"`
4110}
4111
4112// RequestHistory the request history.
4113type RequestHistory struct {
4114	autorest.Response `json:"-"`
4115	// Properties - The request history properties.
4116	Properties *RequestHistoryProperties `json:"properties,omitempty"`
4117	// ID - READ-ONLY; The resource id.
4118	ID *string `json:"id,omitempty"`
4119	// Name - READ-ONLY; Gets the resource name.
4120	Name *string `json:"name,omitempty"`
4121	// Type - READ-ONLY; Gets the resource type.
4122	Type *string `json:"type,omitempty"`
4123	// Location - The resource location.
4124	Location *string `json:"location,omitempty"`
4125	// Tags - The resource tags.
4126	Tags map[string]*string `json:"tags"`
4127}
4128
4129// MarshalJSON is the custom marshaler for RequestHistory.
4130func (rh RequestHistory) MarshalJSON() ([]byte, error) {
4131	objectMap := make(map[string]interface{})
4132	if rh.Properties != nil {
4133		objectMap["properties"] = rh.Properties
4134	}
4135	if rh.Location != nil {
4136		objectMap["location"] = rh.Location
4137	}
4138	if rh.Tags != nil {
4139		objectMap["tags"] = rh.Tags
4140	}
4141	return json.Marshal(objectMap)
4142}
4143
4144// RequestHistoryListResult the list of workflow request histories.
4145type RequestHistoryListResult struct {
4146	autorest.Response `json:"-"`
4147	// Value - A list of workflow request histories.
4148	Value *[]RequestHistory `json:"value,omitempty"`
4149	// NextLink - The URL to get the next set of results.
4150	NextLink *string `json:"nextLink,omitempty"`
4151}
4152
4153// RequestHistoryListResultIterator provides access to a complete listing of RequestHistory values.
4154type RequestHistoryListResultIterator struct {
4155	i    int
4156	page RequestHistoryListResultPage
4157}
4158
4159// NextWithContext advances to the next value.  If there was an error making
4160// the request the iterator does not advance and the error is returned.
4161func (iter *RequestHistoryListResultIterator) NextWithContext(ctx context.Context) (err error) {
4162	if tracing.IsEnabled() {
4163		ctx = tracing.StartSpan(ctx, fqdn+"/RequestHistoryListResultIterator.NextWithContext")
4164		defer func() {
4165			sc := -1
4166			if iter.Response().Response.Response != nil {
4167				sc = iter.Response().Response.Response.StatusCode
4168			}
4169			tracing.EndSpan(ctx, sc, err)
4170		}()
4171	}
4172	iter.i++
4173	if iter.i < len(iter.page.Values()) {
4174		return nil
4175	}
4176	err = iter.page.NextWithContext(ctx)
4177	if err != nil {
4178		iter.i--
4179		return err
4180	}
4181	iter.i = 0
4182	return nil
4183}
4184
4185// Next advances to the next value.  If there was an error making
4186// the request the iterator does not advance and the error is returned.
4187// Deprecated: Use NextWithContext() instead.
4188func (iter *RequestHistoryListResultIterator) Next() error {
4189	return iter.NextWithContext(context.Background())
4190}
4191
4192// NotDone returns true if the enumeration should be started or is not yet complete.
4193func (iter RequestHistoryListResultIterator) NotDone() bool {
4194	return iter.page.NotDone() && iter.i < len(iter.page.Values())
4195}
4196
4197// Response returns the raw server response from the last page request.
4198func (iter RequestHistoryListResultIterator) Response() RequestHistoryListResult {
4199	return iter.page.Response()
4200}
4201
4202// Value returns the current value or a zero-initialized value if the
4203// iterator has advanced beyond the end of the collection.
4204func (iter RequestHistoryListResultIterator) Value() RequestHistory {
4205	if !iter.page.NotDone() {
4206		return RequestHistory{}
4207	}
4208	return iter.page.Values()[iter.i]
4209}
4210
4211// Creates a new instance of the RequestHistoryListResultIterator type.
4212func NewRequestHistoryListResultIterator(page RequestHistoryListResultPage) RequestHistoryListResultIterator {
4213	return RequestHistoryListResultIterator{page: page}
4214}
4215
4216// IsEmpty returns true if the ListResult contains no values.
4217func (rhlr RequestHistoryListResult) IsEmpty() bool {
4218	return rhlr.Value == nil || len(*rhlr.Value) == 0
4219}
4220
4221// requestHistoryListResultPreparer prepares a request to retrieve the next set of results.
4222// It returns nil if no more results exist.
4223func (rhlr RequestHistoryListResult) requestHistoryListResultPreparer(ctx context.Context) (*http.Request, error) {
4224	if rhlr.NextLink == nil || len(to.String(rhlr.NextLink)) < 1 {
4225		return nil, nil
4226	}
4227	return autorest.Prepare((&http.Request{}).WithContext(ctx),
4228		autorest.AsJSON(),
4229		autorest.AsGet(),
4230		autorest.WithBaseURL(to.String(rhlr.NextLink)))
4231}
4232
4233// RequestHistoryListResultPage contains a page of RequestHistory values.
4234type RequestHistoryListResultPage struct {
4235	fn   func(context.Context, RequestHistoryListResult) (RequestHistoryListResult, error)
4236	rhlr RequestHistoryListResult
4237}
4238
4239// NextWithContext advances to the next page of values.  If there was an error making
4240// the request the page does not advance and the error is returned.
4241func (page *RequestHistoryListResultPage) NextWithContext(ctx context.Context) (err error) {
4242	if tracing.IsEnabled() {
4243		ctx = tracing.StartSpan(ctx, fqdn+"/RequestHistoryListResultPage.NextWithContext")
4244		defer func() {
4245			sc := -1
4246			if page.Response().Response.Response != nil {
4247				sc = page.Response().Response.Response.StatusCode
4248			}
4249			tracing.EndSpan(ctx, sc, err)
4250		}()
4251	}
4252	next, err := page.fn(ctx, page.rhlr)
4253	if err != nil {
4254		return err
4255	}
4256	page.rhlr = next
4257	return nil
4258}
4259
4260// Next advances to the next page of values.  If there was an error making
4261// the request the page does not advance and the error is returned.
4262// Deprecated: Use NextWithContext() instead.
4263func (page *RequestHistoryListResultPage) Next() error {
4264	return page.NextWithContext(context.Background())
4265}
4266
4267// NotDone returns true if the page enumeration should be started or is not yet complete.
4268func (page RequestHistoryListResultPage) NotDone() bool {
4269	return !page.rhlr.IsEmpty()
4270}
4271
4272// Response returns the raw server response from the last page request.
4273func (page RequestHistoryListResultPage) Response() RequestHistoryListResult {
4274	return page.rhlr
4275}
4276
4277// Values returns the slice of values for the current page or nil if there are no values.
4278func (page RequestHistoryListResultPage) Values() []RequestHistory {
4279	if page.rhlr.IsEmpty() {
4280		return nil
4281	}
4282	return *page.rhlr.Value
4283}
4284
4285// Creates a new instance of the RequestHistoryListResultPage type.
4286func NewRequestHistoryListResultPage(getNextPage func(context.Context, RequestHistoryListResult) (RequestHistoryListResult, error)) RequestHistoryListResultPage {
4287	return RequestHistoryListResultPage{fn: getNextPage}
4288}
4289
4290// RequestHistoryProperties the request history.
4291type RequestHistoryProperties struct {
4292	// StartTime - The time the request started.
4293	StartTime *date.Time `json:"startTime,omitempty"`
4294	// EndTime - The time the request ended.
4295	EndTime *date.Time `json:"endTime,omitempty"`
4296	// Request - The request.
4297	Request *Request `json:"request,omitempty"`
4298	// Response - The response.
4299	Response *Response `json:"response,omitempty"`
4300}
4301
4302// Resource the base resource type.
4303type Resource struct {
4304	// ID - READ-ONLY; The resource id.
4305	ID *string `json:"id,omitempty"`
4306	// Name - READ-ONLY; Gets the resource name.
4307	Name *string `json:"name,omitempty"`
4308	// Type - READ-ONLY; Gets the resource type.
4309	Type *string `json:"type,omitempty"`
4310	// Location - The resource location.
4311	Location *string `json:"location,omitempty"`
4312	// Tags - The resource tags.
4313	Tags map[string]*string `json:"tags"`
4314}
4315
4316// MarshalJSON is the custom marshaler for Resource.
4317func (r Resource) MarshalJSON() ([]byte, error) {
4318	objectMap := make(map[string]interface{})
4319	if r.Location != nil {
4320		objectMap["location"] = r.Location
4321	}
4322	if r.Tags != nil {
4323		objectMap["tags"] = r.Tags
4324	}
4325	return json.Marshal(objectMap)
4326}
4327
4328// ResourceReference the resource reference.
4329type ResourceReference struct {
4330	// ID - READ-ONLY; The resource id.
4331	ID *string `json:"id,omitempty"`
4332	// Name - READ-ONLY; Gets the resource name.
4333	Name *string `json:"name,omitempty"`
4334	// Type - READ-ONLY; Gets the resource type.
4335	Type *string `json:"type,omitempty"`
4336}
4337
4338// Response a response.
4339type Response struct {
4340	// Headers - A list of all the headers attached to the response.
4341	Headers interface{} `json:"headers,omitempty"`
4342	// StatusCode - The status code of the response.
4343	StatusCode *int32 `json:"statusCode,omitempty"`
4344	// BodyLink - Details on the location of the body content.
4345	BodyLink *ContentLink `json:"bodyLink,omitempty"`
4346}
4347
4348// RetryHistory the retry history.
4349type RetryHistory struct {
4350	// StartTime - Gets the start time.
4351	StartTime *date.Time `json:"startTime,omitempty"`
4352	// EndTime - Gets the end time.
4353	EndTime *date.Time `json:"endTime,omitempty"`
4354	// Code - Gets the status code.
4355	Code *string `json:"code,omitempty"`
4356	// ClientRequestID - Gets the client request Id.
4357	ClientRequestID *string `json:"clientRequestId,omitempty"`
4358	// ServiceRequestID - Gets the service request Id.
4359	ServiceRequestID *string `json:"serviceRequestId,omitempty"`
4360	// Error - Gets the error response.
4361	Error *ErrorResponse `json:"error,omitempty"`
4362}
4363
4364// RosettaNetPipAcknowledgmentOfReceiptSettings the integration account RosettaNet ProcessConfiguration
4365// Acknowledgement settings.
4366type RosettaNetPipAcknowledgmentOfReceiptSettings struct {
4367	// IsNonRepudiationRequired - The non-repudiation is required or not.
4368	IsNonRepudiationRequired *bool `json:"isNonRepudiationRequired,omitempty"`
4369	// TimeToAcknowledgeInSeconds - The time to acknowledge in seconds.
4370	TimeToAcknowledgeInSeconds *int32 `json:"timeToAcknowledgeInSeconds,omitempty"`
4371}
4372
4373// RosettaNetPipActivityBehavior the integration account RosettaNet ProcessConfiguration activity behavior.
4374type RosettaNetPipActivityBehavior struct {
4375	// IsAuthorizationRequired - The value indicating whether authorization is required.
4376	IsAuthorizationRequired *bool `json:"isAuthorizationRequired,omitempty"`
4377	// PersistentConfidentialityScope - The persistent confidentiality encryption scope. Possible values include: 'RosettaNetPipConfidentialityScopeNotSpecified', 'RosettaNetPipConfidentialityScopeNone', 'RosettaNetPipConfidentialityScopePayload', 'RosettaNetPipConfidentialityScopePayloadContainer'
4378	PersistentConfidentialityScope RosettaNetPipConfidentialityScope `json:"persistentConfidentialityScope,omitempty"`
4379	// IsSecuredTransportRequired - The value indicating whether secured transport is required.
4380	IsSecuredTransportRequired *bool `json:"isSecuredTransportRequired,omitempty"`
4381	// ActionType - The value indicating whether the RosettaNet PIP is used for a single action. Possible values include: 'RosettaNetActionTypeNotSpecified', 'RosettaNetActionTypeSingleAction', 'RosettaNetActionTypeDoubleAction'
4382	ActionType RosettaNetActionType `json:"actionType,omitempty"`
4383	// ResponseType - The value indicating whether the RosettaNet PIP communication is synchronous. Possible values include: 'RosettaNetResponseTypeNotSpecified', 'RosettaNetResponseTypeSync', 'RosettaNetResponseTypeAsync'
4384	ResponseType RosettaNetResponseType `json:"responseType,omitempty"`
4385	// NonRepudiationOfOriginAndContent - The value indicating whether non-repudiation is for origin and content.
4386	NonRepudiationOfOriginAndContent *bool `json:"nonRepudiationOfOriginAndContent,omitempty"`
4387	// RetryCount - The value indicating retry count.
4388	RetryCount *int32 `json:"retryCount,omitempty"`
4389	// TimeToPerformInSeconds - The time to perform in seconds.
4390	TimeToPerformInSeconds *int32 `json:"timeToPerformInSeconds,omitempty"`
4391}
4392
4393// RosettaNetPipActivitySettings the integration account RosettaNet ProcessConfiguration activity settings.
4394type RosettaNetPipActivitySettings struct {
4395	// ActivityType - The RosettaNet ProcessConfiguration activity type. Possible values include: 'RosettaNetPipActivityTypeNotSpecified', 'RosettaNetPipActivityTypeInformationDistribution', 'RosettaNetPipActivityTypeBusinessTransaction', 'RosettaNetPipActivityTypeNotification', 'RosettaNetPipActivityTypeQueryResponse', 'RosettaNetPipActivityTypeRequestConfirm', 'RosettaNetPipActivityTypeRequestResponse'
4396	ActivityType RosettaNetPipActivityType `json:"activityType,omitempty"`
4397	// ActivityBehavior - The RosettaNet ProcessConfiguration activity behavior.
4398	ActivityBehavior *RosettaNetPipActivityBehavior `json:"activityBehavior,omitempty"`
4399	// AcknowledgmentOfReceiptSettings - The RosettaNet ProcessConfiguration acknowledgement settings.
4400	AcknowledgmentOfReceiptSettings *RosettaNetPipAcknowledgmentOfReceiptSettings `json:"acknowledgmentOfReceiptSettings,omitempty"`
4401}
4402
4403// RosettaNetPipBusinessDocument the RosettaNet ProcessConfiguration business document settings.
4404type RosettaNetPipBusinessDocument struct {
4405	// Name - The business document name.
4406	Name *string `json:"name,omitempty"`
4407	// Version - The business document version.
4408	Version *string `json:"version,omitempty"`
4409	// Description - The business document description.
4410	Description *string `json:"description,omitempty"`
4411}
4412
4413// RosettaNetPipRoleSettings the integration account RosettaNet ProcessConfiguration role settings.
4414type RosettaNetPipRoleSettings struct {
4415	// Action - The action name.
4416	Action *string `json:"action,omitempty"`
4417	// Role - The role name.
4418	Role *string `json:"role,omitempty"`
4419	// RoleType - The RosettaNet ProcessConfiguration role type. Possible values include: 'RosettaNetPipRoleTypeNotSpecified', 'RosettaNetPipRoleTypeFunctional', 'RosettaNetPipRoleTypeOrganizational', 'RosettaNetPipRoleTypeEmployee'
4420	RoleType RosettaNetPipRoleType `json:"roleType,omitempty"`
4421	// Service - The service name.
4422	Service *string `json:"service,omitempty"`
4423	// ServiceClassification - The service classification name.
4424	ServiceClassification *string `json:"serviceClassification,omitempty"`
4425	// BusinessDocument - The RosettaNet ProcessConfiguration business document.
4426	BusinessDocument *RosettaNetPipBusinessDocument `json:"businessDocument,omitempty"`
4427	// Description - The description.
4428	Description *string `json:"description,omitempty"`
4429}
4430
4431// RunActionCorrelation the workflow run action correlation properties.
4432type RunActionCorrelation struct {
4433	// ActionTrackingID - The action tracking identifier.
4434	ActionTrackingID *string `json:"actionTrackingId,omitempty"`
4435	// ClientTrackingID - The client tracking identifier.
4436	ClientTrackingID *string `json:"clientTrackingId,omitempty"`
4437	// ClientKeywords - The client keywords.
4438	ClientKeywords *[]string `json:"clientKeywords,omitempty"`
4439}
4440
4441// RunCorrelation the correlation properties.
4442type RunCorrelation struct {
4443	// ClientTrackingID - The client tracking identifier.
4444	ClientTrackingID *string `json:"clientTrackingId,omitempty"`
4445	// ClientKeywords - The client keywords.
4446	ClientKeywords *[]string `json:"clientKeywords,omitempty"`
4447}
4448
4449// SetObject ...
4450type SetObject struct {
4451	autorest.Response `json:"-"`
4452	Value             interface{} `json:"value,omitempty"`
4453}
4454
4455// SetTriggerStateActionDefinition ...
4456type SetTriggerStateActionDefinition struct {
4457	Source *WorkflowTrigger `json:"source,omitempty"`
4458}
4459
4460// Sku the sku type.
4461type Sku struct {
4462	// Name - The name. Possible values include: 'SkuNameNotSpecified', 'SkuNameFree', 'SkuNameShared', 'SkuNameBasic', 'SkuNameStandard', 'SkuNamePremium'
4463	Name SkuName `json:"name,omitempty"`
4464	// Plan - The reference to plan.
4465	Plan *ResourceReference `json:"plan,omitempty"`
4466}
4467
4468// SubResource the sub resource type.
4469type SubResource struct {
4470	// ID - READ-ONLY; The resource id.
4471	ID *string `json:"id,omitempty"`
4472}
4473
4474// TrackingEvent ...
4475type TrackingEvent struct {
4476	// EventLevel - Possible values include: 'LogAlways', 'Critical', 'Error', 'Warning', 'Informational', 'Verbose'
4477	EventLevel EventLevel `json:"eventLevel,omitempty"`
4478	EventTime  *date.Time `json:"eventTime,omitempty"`
4479	// RecordType - Possible values include: 'TrackingRecordTypeNotSpecified', 'TrackingRecordTypeCustom', 'TrackingRecordTypeAS2Message', 'TrackingRecordTypeAS2MDN', 'TrackingRecordTypeX12Interchange', 'TrackingRecordTypeX12FunctionalGroup', 'TrackingRecordTypeX12TransactionSet', 'TrackingRecordTypeX12InterchangeAcknowledgment', 'TrackingRecordTypeX12FunctionalGroupAcknowledgment', 'TrackingRecordTypeX12TransactionSetAcknowledgment', 'TrackingRecordTypeEdifactInterchange', 'TrackingRecordTypeEdifactFunctionalGroup', 'TrackingRecordTypeEdifactTransactionSet', 'TrackingRecordTypeEdifactInterchangeAcknowledgment', 'TrackingRecordTypeEdifactFunctionalGroupAcknowledgment', 'TrackingRecordTypeEdifactTransactionSetAcknowledgment'
4480	RecordType TrackingRecordType      `json:"recordType,omitempty"`
4481	Error      *TrackingEventErrorInfo `json:"error,omitempty"`
4482}
4483
4484// TrackingEventErrorInfo ...
4485type TrackingEventErrorInfo struct {
4486	Message *string `json:"message,omitempty"`
4487	Code    *string `json:"code,omitempty"`
4488}
4489
4490// TrackingEventsDefinition ...
4491type TrackingEventsDefinition struct {
4492	SourceType *string `json:"sourceType,omitempty"`
4493	// TrackEventsOptions - Possible values include: 'None', 'DisableSourceInfoEnrich'
4494	TrackEventsOptions TrackEventsOperationOptions `json:"trackEventsOptions,omitempty"`
4495	Events             *[]TrackingEvent            `json:"events,omitempty"`
4496}
4497
4498// Workflow the workflow type.
4499type Workflow struct {
4500	autorest.Response `json:"-"`
4501	// WorkflowProperties - The workflow properties.
4502	*WorkflowProperties `json:"properties,omitempty"`
4503	// ID - READ-ONLY; The resource id.
4504	ID *string `json:"id,omitempty"`
4505	// Name - READ-ONLY; Gets the resource name.
4506	Name *string `json:"name,omitempty"`
4507	// Type - READ-ONLY; Gets the resource type.
4508	Type *string `json:"type,omitempty"`
4509	// Location - The resource location.
4510	Location *string `json:"location,omitempty"`
4511	// Tags - The resource tags.
4512	Tags map[string]*string `json:"tags"`
4513}
4514
4515// MarshalJSON is the custom marshaler for Workflow.
4516func (w Workflow) MarshalJSON() ([]byte, error) {
4517	objectMap := make(map[string]interface{})
4518	if w.WorkflowProperties != nil {
4519		objectMap["properties"] = w.WorkflowProperties
4520	}
4521	if w.Location != nil {
4522		objectMap["location"] = w.Location
4523	}
4524	if w.Tags != nil {
4525		objectMap["tags"] = w.Tags
4526	}
4527	return json.Marshal(objectMap)
4528}
4529
4530// UnmarshalJSON is the custom unmarshaler for Workflow struct.
4531func (w *Workflow) UnmarshalJSON(body []byte) error {
4532	var m map[string]*json.RawMessage
4533	err := json.Unmarshal(body, &m)
4534	if err != nil {
4535		return err
4536	}
4537	for k, v := range m {
4538		switch k {
4539		case "properties":
4540			if v != nil {
4541				var workflowProperties WorkflowProperties
4542				err = json.Unmarshal(*v, &workflowProperties)
4543				if err != nil {
4544					return err
4545				}
4546				w.WorkflowProperties = &workflowProperties
4547			}
4548		case "id":
4549			if v != nil {
4550				var ID string
4551				err = json.Unmarshal(*v, &ID)
4552				if err != nil {
4553					return err
4554				}
4555				w.ID = &ID
4556			}
4557		case "name":
4558			if v != nil {
4559				var name string
4560				err = json.Unmarshal(*v, &name)
4561				if err != nil {
4562					return err
4563				}
4564				w.Name = &name
4565			}
4566		case "type":
4567			if v != nil {
4568				var typeVar string
4569				err = json.Unmarshal(*v, &typeVar)
4570				if err != nil {
4571					return err
4572				}
4573				w.Type = &typeVar
4574			}
4575		case "location":
4576			if v != nil {
4577				var location string
4578				err = json.Unmarshal(*v, &location)
4579				if err != nil {
4580					return err
4581				}
4582				w.Location = &location
4583			}
4584		case "tags":
4585			if v != nil {
4586				var tags map[string]*string
4587				err = json.Unmarshal(*v, &tags)
4588				if err != nil {
4589					return err
4590				}
4591				w.Tags = tags
4592			}
4593		}
4594	}
4595
4596	return nil
4597}
4598
4599// WorkflowFilter the workflow filter.
4600type WorkflowFilter struct {
4601	// State - The state of workflows. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended'
4602	State WorkflowState `json:"state,omitempty"`
4603}
4604
4605// WorkflowListResult the list of workflows.
4606type WorkflowListResult struct {
4607	autorest.Response `json:"-"`
4608	// Value - The list of workflows.
4609	Value *[]Workflow `json:"value,omitempty"`
4610	// NextLink - The URL to get the next set of results.
4611	NextLink *string `json:"nextLink,omitempty"`
4612}
4613
4614// WorkflowListResultIterator provides access to a complete listing of Workflow values.
4615type WorkflowListResultIterator struct {
4616	i    int
4617	page WorkflowListResultPage
4618}
4619
4620// NextWithContext advances to the next value.  If there was an error making
4621// the request the iterator does not advance and the error is returned.
4622func (iter *WorkflowListResultIterator) NextWithContext(ctx context.Context) (err error) {
4623	if tracing.IsEnabled() {
4624		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowListResultIterator.NextWithContext")
4625		defer func() {
4626			sc := -1
4627			if iter.Response().Response.Response != nil {
4628				sc = iter.Response().Response.Response.StatusCode
4629			}
4630			tracing.EndSpan(ctx, sc, err)
4631		}()
4632	}
4633	iter.i++
4634	if iter.i < len(iter.page.Values()) {
4635		return nil
4636	}
4637	err = iter.page.NextWithContext(ctx)
4638	if err != nil {
4639		iter.i--
4640		return err
4641	}
4642	iter.i = 0
4643	return nil
4644}
4645
4646// Next advances to the next value.  If there was an error making
4647// the request the iterator does not advance and the error is returned.
4648// Deprecated: Use NextWithContext() instead.
4649func (iter *WorkflowListResultIterator) Next() error {
4650	return iter.NextWithContext(context.Background())
4651}
4652
4653// NotDone returns true if the enumeration should be started or is not yet complete.
4654func (iter WorkflowListResultIterator) NotDone() bool {
4655	return iter.page.NotDone() && iter.i < len(iter.page.Values())
4656}
4657
4658// Response returns the raw server response from the last page request.
4659func (iter WorkflowListResultIterator) Response() WorkflowListResult {
4660	return iter.page.Response()
4661}
4662
4663// Value returns the current value or a zero-initialized value if the
4664// iterator has advanced beyond the end of the collection.
4665func (iter WorkflowListResultIterator) Value() Workflow {
4666	if !iter.page.NotDone() {
4667		return Workflow{}
4668	}
4669	return iter.page.Values()[iter.i]
4670}
4671
4672// Creates a new instance of the WorkflowListResultIterator type.
4673func NewWorkflowListResultIterator(page WorkflowListResultPage) WorkflowListResultIterator {
4674	return WorkflowListResultIterator{page: page}
4675}
4676
4677// IsEmpty returns true if the ListResult contains no values.
4678func (wlr WorkflowListResult) IsEmpty() bool {
4679	return wlr.Value == nil || len(*wlr.Value) == 0
4680}
4681
4682// workflowListResultPreparer prepares a request to retrieve the next set of results.
4683// It returns nil if no more results exist.
4684func (wlr WorkflowListResult) workflowListResultPreparer(ctx context.Context) (*http.Request, error) {
4685	if wlr.NextLink == nil || len(to.String(wlr.NextLink)) < 1 {
4686		return nil, nil
4687	}
4688	return autorest.Prepare((&http.Request{}).WithContext(ctx),
4689		autorest.AsJSON(),
4690		autorest.AsGet(),
4691		autorest.WithBaseURL(to.String(wlr.NextLink)))
4692}
4693
4694// WorkflowListResultPage contains a page of Workflow values.
4695type WorkflowListResultPage struct {
4696	fn  func(context.Context, WorkflowListResult) (WorkflowListResult, error)
4697	wlr WorkflowListResult
4698}
4699
4700// NextWithContext advances to the next page of values.  If there was an error making
4701// the request the page does not advance and the error is returned.
4702func (page *WorkflowListResultPage) NextWithContext(ctx context.Context) (err error) {
4703	if tracing.IsEnabled() {
4704		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowListResultPage.NextWithContext")
4705		defer func() {
4706			sc := -1
4707			if page.Response().Response.Response != nil {
4708				sc = page.Response().Response.Response.StatusCode
4709			}
4710			tracing.EndSpan(ctx, sc, err)
4711		}()
4712	}
4713	next, err := page.fn(ctx, page.wlr)
4714	if err != nil {
4715		return err
4716	}
4717	page.wlr = next
4718	return nil
4719}
4720
4721// Next advances to the next page of values.  If there was an error making
4722// the request the page does not advance and the error is returned.
4723// Deprecated: Use NextWithContext() instead.
4724func (page *WorkflowListResultPage) Next() error {
4725	return page.NextWithContext(context.Background())
4726}
4727
4728// NotDone returns true if the page enumeration should be started or is not yet complete.
4729func (page WorkflowListResultPage) NotDone() bool {
4730	return !page.wlr.IsEmpty()
4731}
4732
4733// Response returns the raw server response from the last page request.
4734func (page WorkflowListResultPage) Response() WorkflowListResult {
4735	return page.wlr
4736}
4737
4738// Values returns the slice of values for the current page or nil if there are no values.
4739func (page WorkflowListResultPage) Values() []Workflow {
4740	if page.wlr.IsEmpty() {
4741		return nil
4742	}
4743	return *page.wlr.Value
4744}
4745
4746// Creates a new instance of the WorkflowListResultPage type.
4747func NewWorkflowListResultPage(getNextPage func(context.Context, WorkflowListResult) (WorkflowListResult, error)) WorkflowListResultPage {
4748	return WorkflowListResultPage{fn: getNextPage}
4749}
4750
4751// WorkflowOutputParameter the workflow output parameter.
4752type WorkflowOutputParameter struct {
4753	// Error - READ-ONLY; Gets the error.
4754	Error interface{} `json:"error,omitempty"`
4755	// Type - The type. Possible values include: 'ParameterTypeNotSpecified', 'ParameterTypeString', 'ParameterTypeSecureString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeObject', 'ParameterTypeSecureObject'
4756	Type ParameterType `json:"type,omitempty"`
4757	// Value - The value.
4758	Value interface{} `json:"value,omitempty"`
4759	// Metadata - The metadata.
4760	Metadata interface{} `json:"metadata,omitempty"`
4761	// Description - The description.
4762	Description *string `json:"description,omitempty"`
4763}
4764
4765// WorkflowParameter the workflow parameters.
4766type WorkflowParameter struct {
4767	// Type - The type. Possible values include: 'ParameterTypeNotSpecified', 'ParameterTypeString', 'ParameterTypeSecureString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeObject', 'ParameterTypeSecureObject'
4768	Type ParameterType `json:"type,omitempty"`
4769	// Value - The value.
4770	Value interface{} `json:"value,omitempty"`
4771	// Metadata - The metadata.
4772	Metadata interface{} `json:"metadata,omitempty"`
4773	// Description - The description.
4774	Description *string `json:"description,omitempty"`
4775}
4776
4777// WorkflowProperties the workflow properties.
4778type WorkflowProperties struct {
4779	// ProvisioningState - READ-ONLY; Gets the provisioning state. Possible values include: 'WorkflowProvisioningStateNotSpecified', 'WorkflowProvisioningStateAccepted', 'WorkflowProvisioningStateRunning', 'WorkflowProvisioningStateReady', 'WorkflowProvisioningStateCreating', 'WorkflowProvisioningStateCreated', 'WorkflowProvisioningStateDeleting', 'WorkflowProvisioningStateDeleted', 'WorkflowProvisioningStateCanceled', 'WorkflowProvisioningStateFailed', 'WorkflowProvisioningStateSucceeded', 'WorkflowProvisioningStateMoving', 'WorkflowProvisioningStateUpdating', 'WorkflowProvisioningStateRegistering', 'WorkflowProvisioningStateRegistered', 'WorkflowProvisioningStateUnregistering', 'WorkflowProvisioningStateUnregistered', 'WorkflowProvisioningStateCompleted'
4780	ProvisioningState WorkflowProvisioningState `json:"provisioningState,omitempty"`
4781	// CreatedTime - READ-ONLY; Gets the created time.
4782	CreatedTime *date.Time `json:"createdTime,omitempty"`
4783	// ChangedTime - READ-ONLY; Gets the changed time.
4784	ChangedTime *date.Time `json:"changedTime,omitempty"`
4785	// State - The state. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended'
4786	State WorkflowState `json:"state,omitempty"`
4787	// Version - READ-ONLY; Gets the version.
4788	Version *string `json:"version,omitempty"`
4789	// AccessEndpoint - READ-ONLY; Gets the access endpoint.
4790	AccessEndpoint *string `json:"accessEndpoint,omitempty"`
4791	// Sku - The sku.
4792	Sku *Sku `json:"sku,omitempty"`
4793	// IntegrationAccount - The integration account.
4794	IntegrationAccount *ResourceReference `json:"integrationAccount,omitempty"`
4795	// Definition - The definition. See [Schema reference for Workflow Definition Language in Azure Logic Apps](https://aka.ms/logic-apps-workflow-definition-language).
4796	Definition interface{} `json:"definition,omitempty"`
4797	// Parameters - The parameters.
4798	Parameters map[string]*WorkflowParameter `json:"parameters"`
4799}
4800
4801// MarshalJSON is the custom marshaler for WorkflowProperties.
4802func (wp WorkflowProperties) MarshalJSON() ([]byte, error) {
4803	objectMap := make(map[string]interface{})
4804	if wp.State != "" {
4805		objectMap["state"] = wp.State
4806	}
4807	if wp.Sku != nil {
4808		objectMap["sku"] = wp.Sku
4809	}
4810	if wp.IntegrationAccount != nil {
4811		objectMap["integrationAccount"] = wp.IntegrationAccount
4812	}
4813	if wp.Definition != nil {
4814		objectMap["definition"] = wp.Definition
4815	}
4816	if wp.Parameters != nil {
4817		objectMap["parameters"] = wp.Parameters
4818	}
4819	return json.Marshal(objectMap)
4820}
4821
4822// WorkflowRun the workflow run.
4823type WorkflowRun struct {
4824	autorest.Response `json:"-"`
4825	// WorkflowRunProperties - The workflow run properties.
4826	*WorkflowRunProperties `json:"properties,omitempty"`
4827	// Name - READ-ONLY; Gets the workflow run name.
4828	Name *string `json:"name,omitempty"`
4829	// Type - READ-ONLY; Gets the workflow run type.
4830	Type *string `json:"type,omitempty"`
4831	// ID - READ-ONLY; The resource id.
4832	ID *string `json:"id,omitempty"`
4833}
4834
4835// MarshalJSON is the custom marshaler for WorkflowRun.
4836func (wr WorkflowRun) MarshalJSON() ([]byte, error) {
4837	objectMap := make(map[string]interface{})
4838	if wr.WorkflowRunProperties != nil {
4839		objectMap["properties"] = wr.WorkflowRunProperties
4840	}
4841	return json.Marshal(objectMap)
4842}
4843
4844// UnmarshalJSON is the custom unmarshaler for WorkflowRun struct.
4845func (wr *WorkflowRun) UnmarshalJSON(body []byte) error {
4846	var m map[string]*json.RawMessage
4847	err := json.Unmarshal(body, &m)
4848	if err != nil {
4849		return err
4850	}
4851	for k, v := range m {
4852		switch k {
4853		case "properties":
4854			if v != nil {
4855				var workflowRunProperties WorkflowRunProperties
4856				err = json.Unmarshal(*v, &workflowRunProperties)
4857				if err != nil {
4858					return err
4859				}
4860				wr.WorkflowRunProperties = &workflowRunProperties
4861			}
4862		case "name":
4863			if v != nil {
4864				var name string
4865				err = json.Unmarshal(*v, &name)
4866				if err != nil {
4867					return err
4868				}
4869				wr.Name = &name
4870			}
4871		case "type":
4872			if v != nil {
4873				var typeVar string
4874				err = json.Unmarshal(*v, &typeVar)
4875				if err != nil {
4876					return err
4877				}
4878				wr.Type = &typeVar
4879			}
4880		case "id":
4881			if v != nil {
4882				var ID string
4883				err = json.Unmarshal(*v, &ID)
4884				if err != nil {
4885					return err
4886				}
4887				wr.ID = &ID
4888			}
4889		}
4890	}
4891
4892	return nil
4893}
4894
4895// WorkflowRunAction the workflow run action.
4896type WorkflowRunAction struct {
4897	autorest.Response `json:"-"`
4898	// WorkflowRunActionProperties - The workflow run action properties.
4899	*WorkflowRunActionProperties `json:"properties,omitempty"`
4900	// Name - READ-ONLY; Gets the workflow run action name.
4901	Name *string `json:"name,omitempty"`
4902	// Type - READ-ONLY; Gets the workflow run action type.
4903	Type *string `json:"type,omitempty"`
4904	// ID - READ-ONLY; The resource id.
4905	ID *string `json:"id,omitempty"`
4906}
4907
4908// MarshalJSON is the custom marshaler for WorkflowRunAction.
4909func (wra WorkflowRunAction) MarshalJSON() ([]byte, error) {
4910	objectMap := make(map[string]interface{})
4911	if wra.WorkflowRunActionProperties != nil {
4912		objectMap["properties"] = wra.WorkflowRunActionProperties
4913	}
4914	return json.Marshal(objectMap)
4915}
4916
4917// UnmarshalJSON is the custom unmarshaler for WorkflowRunAction struct.
4918func (wra *WorkflowRunAction) UnmarshalJSON(body []byte) error {
4919	var m map[string]*json.RawMessage
4920	err := json.Unmarshal(body, &m)
4921	if err != nil {
4922		return err
4923	}
4924	for k, v := range m {
4925		switch k {
4926		case "properties":
4927			if v != nil {
4928				var workflowRunActionProperties WorkflowRunActionProperties
4929				err = json.Unmarshal(*v, &workflowRunActionProperties)
4930				if err != nil {
4931					return err
4932				}
4933				wra.WorkflowRunActionProperties = &workflowRunActionProperties
4934			}
4935		case "name":
4936			if v != nil {
4937				var name string
4938				err = json.Unmarshal(*v, &name)
4939				if err != nil {
4940					return err
4941				}
4942				wra.Name = &name
4943			}
4944		case "type":
4945			if v != nil {
4946				var typeVar string
4947				err = json.Unmarshal(*v, &typeVar)
4948				if err != nil {
4949					return err
4950				}
4951				wra.Type = &typeVar
4952			}
4953		case "id":
4954			if v != nil {
4955				var ID string
4956				err = json.Unmarshal(*v, &ID)
4957				if err != nil {
4958					return err
4959				}
4960				wra.ID = &ID
4961			}
4962		}
4963	}
4964
4965	return nil
4966}
4967
4968// WorkflowRunActionFilter the workflow run action filter.
4969type WorkflowRunActionFilter struct {
4970	// Status - The status of workflow run action. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
4971	Status WorkflowStatus `json:"status,omitempty"`
4972}
4973
4974// WorkflowRunActionListResult the list of workflow run actions.
4975type WorkflowRunActionListResult struct {
4976	autorest.Response `json:"-"`
4977	// Value - A list of workflow run actions.
4978	Value *[]WorkflowRunAction `json:"value,omitempty"`
4979	// NextLink - The URL to get the next set of results.
4980	NextLink *string `json:"nextLink,omitempty"`
4981}
4982
4983// WorkflowRunActionListResultIterator provides access to a complete listing of WorkflowRunAction values.
4984type WorkflowRunActionListResultIterator struct {
4985	i    int
4986	page WorkflowRunActionListResultPage
4987}
4988
4989// NextWithContext advances to the next value.  If there was an error making
4990// the request the iterator does not advance and the error is returned.
4991func (iter *WorkflowRunActionListResultIterator) NextWithContext(ctx context.Context) (err error) {
4992	if tracing.IsEnabled() {
4993		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionListResultIterator.NextWithContext")
4994		defer func() {
4995			sc := -1
4996			if iter.Response().Response.Response != nil {
4997				sc = iter.Response().Response.Response.StatusCode
4998			}
4999			tracing.EndSpan(ctx, sc, err)
5000		}()
5001	}
5002	iter.i++
5003	if iter.i < len(iter.page.Values()) {
5004		return nil
5005	}
5006	err = iter.page.NextWithContext(ctx)
5007	if err != nil {
5008		iter.i--
5009		return err
5010	}
5011	iter.i = 0
5012	return nil
5013}
5014
5015// Next advances to the next value.  If there was an error making
5016// the request the iterator does not advance and the error is returned.
5017// Deprecated: Use NextWithContext() instead.
5018func (iter *WorkflowRunActionListResultIterator) Next() error {
5019	return iter.NextWithContext(context.Background())
5020}
5021
5022// NotDone returns true if the enumeration should be started or is not yet complete.
5023func (iter WorkflowRunActionListResultIterator) NotDone() bool {
5024	return iter.page.NotDone() && iter.i < len(iter.page.Values())
5025}
5026
5027// Response returns the raw server response from the last page request.
5028func (iter WorkflowRunActionListResultIterator) Response() WorkflowRunActionListResult {
5029	return iter.page.Response()
5030}
5031
5032// Value returns the current value or a zero-initialized value if the
5033// iterator has advanced beyond the end of the collection.
5034func (iter WorkflowRunActionListResultIterator) Value() WorkflowRunAction {
5035	if !iter.page.NotDone() {
5036		return WorkflowRunAction{}
5037	}
5038	return iter.page.Values()[iter.i]
5039}
5040
5041// Creates a new instance of the WorkflowRunActionListResultIterator type.
5042func NewWorkflowRunActionListResultIterator(page WorkflowRunActionListResultPage) WorkflowRunActionListResultIterator {
5043	return WorkflowRunActionListResultIterator{page: page}
5044}
5045
5046// IsEmpty returns true if the ListResult contains no values.
5047func (wralr WorkflowRunActionListResult) IsEmpty() bool {
5048	return wralr.Value == nil || len(*wralr.Value) == 0
5049}
5050
5051// workflowRunActionListResultPreparer prepares a request to retrieve the next set of results.
5052// It returns nil if no more results exist.
5053func (wralr WorkflowRunActionListResult) workflowRunActionListResultPreparer(ctx context.Context) (*http.Request, error) {
5054	if wralr.NextLink == nil || len(to.String(wralr.NextLink)) < 1 {
5055		return nil, nil
5056	}
5057	return autorest.Prepare((&http.Request{}).WithContext(ctx),
5058		autorest.AsJSON(),
5059		autorest.AsGet(),
5060		autorest.WithBaseURL(to.String(wralr.NextLink)))
5061}
5062
5063// WorkflowRunActionListResultPage contains a page of WorkflowRunAction values.
5064type WorkflowRunActionListResultPage struct {
5065	fn    func(context.Context, WorkflowRunActionListResult) (WorkflowRunActionListResult, error)
5066	wralr WorkflowRunActionListResult
5067}
5068
5069// NextWithContext advances to the next page of values.  If there was an error making
5070// the request the page does not advance and the error is returned.
5071func (page *WorkflowRunActionListResultPage) NextWithContext(ctx context.Context) (err error) {
5072	if tracing.IsEnabled() {
5073		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionListResultPage.NextWithContext")
5074		defer func() {
5075			sc := -1
5076			if page.Response().Response.Response != nil {
5077				sc = page.Response().Response.Response.StatusCode
5078			}
5079			tracing.EndSpan(ctx, sc, err)
5080		}()
5081	}
5082	next, err := page.fn(ctx, page.wralr)
5083	if err != nil {
5084		return err
5085	}
5086	page.wralr = next
5087	return nil
5088}
5089
5090// Next advances to the next page of values.  If there was an error making
5091// the request the page does not advance and the error is returned.
5092// Deprecated: Use NextWithContext() instead.
5093func (page *WorkflowRunActionListResultPage) Next() error {
5094	return page.NextWithContext(context.Background())
5095}
5096
5097// NotDone returns true if the page enumeration should be started or is not yet complete.
5098func (page WorkflowRunActionListResultPage) NotDone() bool {
5099	return !page.wralr.IsEmpty()
5100}
5101
5102// Response returns the raw server response from the last page request.
5103func (page WorkflowRunActionListResultPage) Response() WorkflowRunActionListResult {
5104	return page.wralr
5105}
5106
5107// Values returns the slice of values for the current page or nil if there are no values.
5108func (page WorkflowRunActionListResultPage) Values() []WorkflowRunAction {
5109	if page.wralr.IsEmpty() {
5110		return nil
5111	}
5112	return *page.wralr.Value
5113}
5114
5115// Creates a new instance of the WorkflowRunActionListResultPage type.
5116func NewWorkflowRunActionListResultPage(getNextPage func(context.Context, WorkflowRunActionListResult) (WorkflowRunActionListResult, error)) WorkflowRunActionListResultPage {
5117	return WorkflowRunActionListResultPage{fn: getNextPage}
5118}
5119
5120// WorkflowRunActionProperties the workflow run action properties.
5121type WorkflowRunActionProperties struct {
5122	// StartTime - READ-ONLY; Gets the start time.
5123	StartTime *date.Time `json:"startTime,omitempty"`
5124	// EndTime - READ-ONLY; Gets the end time.
5125	EndTime *date.Time `json:"endTime,omitempty"`
5126	// Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
5127	Status WorkflowStatus `json:"status,omitempty"`
5128	// Code - READ-ONLY; Gets the code.
5129	Code *string `json:"code,omitempty"`
5130	// Error - READ-ONLY; Gets the error.
5131	Error interface{} `json:"error,omitempty"`
5132	// TrackingID - READ-ONLY; Gets the tracking id.
5133	TrackingID *string `json:"trackingId,omitempty"`
5134	// Correlation - The correlation properties.
5135	Correlation *Correlation `json:"correlation,omitempty"`
5136	// InputsLink - READ-ONLY; Gets the link to inputs.
5137	InputsLink *ContentLink `json:"inputsLink,omitempty"`
5138	// OutputsLink - READ-ONLY; Gets the link to outputs.
5139	OutputsLink *ContentLink `json:"outputsLink,omitempty"`
5140	// TrackedProperties - READ-ONLY; Gets the tracked properties.
5141	TrackedProperties interface{} `json:"trackedProperties,omitempty"`
5142	// RetryHistory - Gets the retry histories.
5143	RetryHistory *[]RetryHistory `json:"retryHistory,omitempty"`
5144}
5145
5146// WorkflowRunActionRepetitionDefinition the workflow run action repetition definition.
5147type WorkflowRunActionRepetitionDefinition struct {
5148	autorest.Response `json:"-"`
5149	// WorkflowRunActionRepetitionProperties - The workflow run action repetition properties definition.
5150	*WorkflowRunActionRepetitionProperties `json:"properties,omitempty"`
5151	// ID - READ-ONLY; The resource id.
5152	ID *string `json:"id,omitempty"`
5153	// Name - READ-ONLY; Gets the resource name.
5154	Name *string `json:"name,omitempty"`
5155	// Type - READ-ONLY; Gets the resource type.
5156	Type *string `json:"type,omitempty"`
5157	// Location - The resource location.
5158	Location *string `json:"location,omitempty"`
5159	// Tags - The resource tags.
5160	Tags map[string]*string `json:"tags"`
5161}
5162
5163// MarshalJSON is the custom marshaler for WorkflowRunActionRepetitionDefinition.
5164func (wrard WorkflowRunActionRepetitionDefinition) MarshalJSON() ([]byte, error) {
5165	objectMap := make(map[string]interface{})
5166	if wrard.WorkflowRunActionRepetitionProperties != nil {
5167		objectMap["properties"] = wrard.WorkflowRunActionRepetitionProperties
5168	}
5169	if wrard.Location != nil {
5170		objectMap["location"] = wrard.Location
5171	}
5172	if wrard.Tags != nil {
5173		objectMap["tags"] = wrard.Tags
5174	}
5175	return json.Marshal(objectMap)
5176}
5177
5178// UnmarshalJSON is the custom unmarshaler for WorkflowRunActionRepetitionDefinition struct.
5179func (wrard *WorkflowRunActionRepetitionDefinition) UnmarshalJSON(body []byte) error {
5180	var m map[string]*json.RawMessage
5181	err := json.Unmarshal(body, &m)
5182	if err != nil {
5183		return err
5184	}
5185	for k, v := range m {
5186		switch k {
5187		case "properties":
5188			if v != nil {
5189				var workflowRunActionRepetitionProperties WorkflowRunActionRepetitionProperties
5190				err = json.Unmarshal(*v, &workflowRunActionRepetitionProperties)
5191				if err != nil {
5192					return err
5193				}
5194				wrard.WorkflowRunActionRepetitionProperties = &workflowRunActionRepetitionProperties
5195			}
5196		case "id":
5197			if v != nil {
5198				var ID string
5199				err = json.Unmarshal(*v, &ID)
5200				if err != nil {
5201					return err
5202				}
5203				wrard.ID = &ID
5204			}
5205		case "name":
5206			if v != nil {
5207				var name string
5208				err = json.Unmarshal(*v, &name)
5209				if err != nil {
5210					return err
5211				}
5212				wrard.Name = &name
5213			}
5214		case "type":
5215			if v != nil {
5216				var typeVar string
5217				err = json.Unmarshal(*v, &typeVar)
5218				if err != nil {
5219					return err
5220				}
5221				wrard.Type = &typeVar
5222			}
5223		case "location":
5224			if v != nil {
5225				var location string
5226				err = json.Unmarshal(*v, &location)
5227				if err != nil {
5228					return err
5229				}
5230				wrard.Location = &location
5231			}
5232		case "tags":
5233			if v != nil {
5234				var tags map[string]*string
5235				err = json.Unmarshal(*v, &tags)
5236				if err != nil {
5237					return err
5238				}
5239				wrard.Tags = tags
5240			}
5241		}
5242	}
5243
5244	return nil
5245}
5246
5247// WorkflowRunActionRepetitionDefinitionCollection a collection of workflow run action repetitions.
5248type WorkflowRunActionRepetitionDefinitionCollection struct {
5249	autorest.Response `json:"-"`
5250	Value             *[]WorkflowRunActionRepetitionDefinition `json:"value,omitempty"`
5251}
5252
5253// WorkflowRunActionRepetitionProperties the workflow run action repetition properties definition.
5254type WorkflowRunActionRepetitionProperties struct {
5255	// RepetitionIndexes - The repetition indexes.
5256	RepetitionIndexes *[]RepetitionIndex `json:"repetitionIndexes,omitempty"`
5257	// TrackingID - READ-ONLY; Gets the tracking id.
5258	TrackingID *string `json:"trackingId,omitempty"`
5259	// Inputs - READ-ONLY; Gets the inputs.
5260	Inputs interface{} `json:"inputs,omitempty"`
5261	// InputsLink - READ-ONLY; Gets the link to inputs.
5262	InputsLink *ContentLink `json:"inputsLink,omitempty"`
5263	// Outputs - READ-ONLY; Gets the outputs.
5264	Outputs interface{} `json:"outputs,omitempty"`
5265	// OutputsLink - READ-ONLY; Gets the link to outputs.
5266	OutputsLink *ContentLink `json:"outputsLink,omitempty"`
5267	// TrackedProperties - READ-ONLY; Gets the tracked properties.
5268	TrackedProperties interface{} `json:"trackedProperties,omitempty"`
5269	// RetryHistory - Gets the retry histories.
5270	RetryHistory   *[]RetryHistory `json:"retryHistory,omitempty"`
5271	IterationCount *int32          `json:"iterationCount,omitempty"`
5272	// StartTime - The start time of the workflow scope repetition.
5273	StartTime *date.Time `json:"startTime,omitempty"`
5274	// EndTime - The end time of the workflow scope repetition.
5275	EndTime *date.Time `json:"endTime,omitempty"`
5276	// Correlation - The correlation properties.
5277	Correlation *RunActionCorrelation `json:"correlation,omitempty"`
5278	// Status - The status of the workflow scope repetition. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
5279	Status WorkflowStatus `json:"status,omitempty"`
5280	// Code - The workflow scope repetition code.
5281	Code  *string     `json:"code,omitempty"`
5282	Error interface{} `json:"error,omitempty"`
5283}
5284
5285// WorkflowRunFilter the workflow run filter.
5286type WorkflowRunFilter struct {
5287	// Status - The status of workflow run. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
5288	Status WorkflowStatus `json:"status,omitempty"`
5289}
5290
5291// WorkflowRunListResult the list of workflow runs.
5292type WorkflowRunListResult struct {
5293	autorest.Response `json:"-"`
5294	// Value - A list of workflow runs.
5295	Value *[]WorkflowRun `json:"value,omitempty"`
5296	// NextLink - The URL to get the next set of results.
5297	NextLink *string `json:"nextLink,omitempty"`
5298}
5299
5300// WorkflowRunListResultIterator provides access to a complete listing of WorkflowRun values.
5301type WorkflowRunListResultIterator struct {
5302	i    int
5303	page WorkflowRunListResultPage
5304}
5305
5306// NextWithContext advances to the next value.  If there was an error making
5307// the request the iterator does not advance and the error is returned.
5308func (iter *WorkflowRunListResultIterator) NextWithContext(ctx context.Context) (err error) {
5309	if tracing.IsEnabled() {
5310		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunListResultIterator.NextWithContext")
5311		defer func() {
5312			sc := -1
5313			if iter.Response().Response.Response != nil {
5314				sc = iter.Response().Response.Response.StatusCode
5315			}
5316			tracing.EndSpan(ctx, sc, err)
5317		}()
5318	}
5319	iter.i++
5320	if iter.i < len(iter.page.Values()) {
5321		return nil
5322	}
5323	err = iter.page.NextWithContext(ctx)
5324	if err != nil {
5325		iter.i--
5326		return err
5327	}
5328	iter.i = 0
5329	return nil
5330}
5331
5332// Next advances to the next value.  If there was an error making
5333// the request the iterator does not advance and the error is returned.
5334// Deprecated: Use NextWithContext() instead.
5335func (iter *WorkflowRunListResultIterator) Next() error {
5336	return iter.NextWithContext(context.Background())
5337}
5338
5339// NotDone returns true if the enumeration should be started or is not yet complete.
5340func (iter WorkflowRunListResultIterator) NotDone() bool {
5341	return iter.page.NotDone() && iter.i < len(iter.page.Values())
5342}
5343
5344// Response returns the raw server response from the last page request.
5345func (iter WorkflowRunListResultIterator) Response() WorkflowRunListResult {
5346	return iter.page.Response()
5347}
5348
5349// Value returns the current value or a zero-initialized value if the
5350// iterator has advanced beyond the end of the collection.
5351func (iter WorkflowRunListResultIterator) Value() WorkflowRun {
5352	if !iter.page.NotDone() {
5353		return WorkflowRun{}
5354	}
5355	return iter.page.Values()[iter.i]
5356}
5357
5358// Creates a new instance of the WorkflowRunListResultIterator type.
5359func NewWorkflowRunListResultIterator(page WorkflowRunListResultPage) WorkflowRunListResultIterator {
5360	return WorkflowRunListResultIterator{page: page}
5361}
5362
5363// IsEmpty returns true if the ListResult contains no values.
5364func (wrlr WorkflowRunListResult) IsEmpty() bool {
5365	return wrlr.Value == nil || len(*wrlr.Value) == 0
5366}
5367
5368// workflowRunListResultPreparer prepares a request to retrieve the next set of results.
5369// It returns nil if no more results exist.
5370func (wrlr WorkflowRunListResult) workflowRunListResultPreparer(ctx context.Context) (*http.Request, error) {
5371	if wrlr.NextLink == nil || len(to.String(wrlr.NextLink)) < 1 {
5372		return nil, nil
5373	}
5374	return autorest.Prepare((&http.Request{}).WithContext(ctx),
5375		autorest.AsJSON(),
5376		autorest.AsGet(),
5377		autorest.WithBaseURL(to.String(wrlr.NextLink)))
5378}
5379
5380// WorkflowRunListResultPage contains a page of WorkflowRun values.
5381type WorkflowRunListResultPage struct {
5382	fn   func(context.Context, WorkflowRunListResult) (WorkflowRunListResult, error)
5383	wrlr WorkflowRunListResult
5384}
5385
5386// NextWithContext advances to the next page of values.  If there was an error making
5387// the request the page does not advance and the error is returned.
5388func (page *WorkflowRunListResultPage) NextWithContext(ctx context.Context) (err error) {
5389	if tracing.IsEnabled() {
5390		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunListResultPage.NextWithContext")
5391		defer func() {
5392			sc := -1
5393			if page.Response().Response.Response != nil {
5394				sc = page.Response().Response.Response.StatusCode
5395			}
5396			tracing.EndSpan(ctx, sc, err)
5397		}()
5398	}
5399	next, err := page.fn(ctx, page.wrlr)
5400	if err != nil {
5401		return err
5402	}
5403	page.wrlr = next
5404	return nil
5405}
5406
5407// Next advances to the next page of values.  If there was an error making
5408// the request the page does not advance and the error is returned.
5409// Deprecated: Use NextWithContext() instead.
5410func (page *WorkflowRunListResultPage) Next() error {
5411	return page.NextWithContext(context.Background())
5412}
5413
5414// NotDone returns true if the page enumeration should be started or is not yet complete.
5415func (page WorkflowRunListResultPage) NotDone() bool {
5416	return !page.wrlr.IsEmpty()
5417}
5418
5419// Response returns the raw server response from the last page request.
5420func (page WorkflowRunListResultPage) Response() WorkflowRunListResult {
5421	return page.wrlr
5422}
5423
5424// Values returns the slice of values for the current page or nil if there are no values.
5425func (page WorkflowRunListResultPage) Values() []WorkflowRun {
5426	if page.wrlr.IsEmpty() {
5427		return nil
5428	}
5429	return *page.wrlr.Value
5430}
5431
5432// Creates a new instance of the WorkflowRunListResultPage type.
5433func NewWorkflowRunListResultPage(getNextPage func(context.Context, WorkflowRunListResult) (WorkflowRunListResult, error)) WorkflowRunListResultPage {
5434	return WorkflowRunListResultPage{fn: getNextPage}
5435}
5436
5437// WorkflowRunProperties the workflow run properties.
5438type WorkflowRunProperties struct {
5439	// WaitEndTime - READ-ONLY; Gets the wait end time.
5440	WaitEndTime *date.Time `json:"waitEndTime,omitempty"`
5441	// StartTime - READ-ONLY; Gets the start time.
5442	StartTime *date.Time `json:"startTime,omitempty"`
5443	// EndTime - READ-ONLY; Gets the end time.
5444	EndTime *date.Time `json:"endTime,omitempty"`
5445	// Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
5446	Status WorkflowStatus `json:"status,omitempty"`
5447	// Code - READ-ONLY; Gets the code.
5448	Code *string `json:"code,omitempty"`
5449	// Error - READ-ONLY; Gets the error.
5450	Error interface{} `json:"error,omitempty"`
5451	// CorrelationID - READ-ONLY; Gets the correlation id.
5452	CorrelationID *string `json:"correlationId,omitempty"`
5453	// Correlation - The run correlation.
5454	Correlation *Correlation `json:"correlation,omitempty"`
5455	// Workflow - READ-ONLY; Gets the reference to workflow version.
5456	Workflow *ResourceReference `json:"workflow,omitempty"`
5457	// Trigger - READ-ONLY; Gets the fired trigger.
5458	Trigger *WorkflowRunTrigger `json:"trigger,omitempty"`
5459	// Outputs - READ-ONLY; Gets the outputs.
5460	Outputs map[string]*WorkflowOutputParameter `json:"outputs"`
5461	// Response - READ-ONLY; Gets the response of the flow run.
5462	Response *WorkflowRunTrigger `json:"response,omitempty"`
5463}
5464
5465// MarshalJSON is the custom marshaler for WorkflowRunProperties.
5466func (wrp WorkflowRunProperties) MarshalJSON() ([]byte, error) {
5467	objectMap := make(map[string]interface{})
5468	if wrp.Correlation != nil {
5469		objectMap["correlation"] = wrp.Correlation
5470	}
5471	return json.Marshal(objectMap)
5472}
5473
5474// WorkflowRunTrigger the workflow run trigger.
5475type WorkflowRunTrigger struct {
5476	// Name - READ-ONLY; Gets the name.
5477	Name *string `json:"name,omitempty"`
5478	// Inputs - READ-ONLY; Gets the inputs.
5479	Inputs interface{} `json:"inputs,omitempty"`
5480	// InputsLink - READ-ONLY; Gets the link to inputs.
5481	InputsLink *ContentLink `json:"inputsLink,omitempty"`
5482	// Outputs - READ-ONLY; Gets the outputs.
5483	Outputs interface{} `json:"outputs,omitempty"`
5484	// OutputsLink - READ-ONLY; Gets the link to outputs.
5485	OutputsLink *ContentLink `json:"outputsLink,omitempty"`
5486	// ScheduledTime - READ-ONLY; Gets the scheduled time.
5487	ScheduledTime *date.Time `json:"scheduledTime,omitempty"`
5488	// StartTime - READ-ONLY; Gets the start time.
5489	StartTime *date.Time `json:"startTime,omitempty"`
5490	// EndTime - READ-ONLY; Gets the end time.
5491	EndTime *date.Time `json:"endTime,omitempty"`
5492	// TrackingID - READ-ONLY; Gets the tracking id.
5493	TrackingID *string `json:"trackingId,omitempty"`
5494	// Correlation - The run correlation.
5495	Correlation *Correlation `json:"correlation,omitempty"`
5496	// Code - READ-ONLY; Gets the code.
5497	Code *string `json:"code,omitempty"`
5498	// Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
5499	Status WorkflowStatus `json:"status,omitempty"`
5500	// Error - READ-ONLY; Gets the error.
5501	Error interface{} `json:"error,omitempty"`
5502	// TrackedProperties - READ-ONLY; Gets the tracked properties.
5503	TrackedProperties interface{} `json:"trackedProperties,omitempty"`
5504}
5505
5506// WorkflowTrigger the workflow trigger.
5507type WorkflowTrigger struct {
5508	autorest.Response `json:"-"`
5509	// WorkflowTriggerProperties - The workflow trigger properties.
5510	*WorkflowTriggerProperties `json:"properties,omitempty"`
5511	// Name - READ-ONLY; Gets the workflow trigger name.
5512	Name *string `json:"name,omitempty"`
5513	// Type - READ-ONLY; Gets the workflow trigger type.
5514	Type *string `json:"type,omitempty"`
5515	// ID - READ-ONLY; The resource id.
5516	ID *string `json:"id,omitempty"`
5517}
5518
5519// MarshalJSON is the custom marshaler for WorkflowTrigger.
5520func (wt WorkflowTrigger) MarshalJSON() ([]byte, error) {
5521	objectMap := make(map[string]interface{})
5522	if wt.WorkflowTriggerProperties != nil {
5523		objectMap["properties"] = wt.WorkflowTriggerProperties
5524	}
5525	return json.Marshal(objectMap)
5526}
5527
5528// UnmarshalJSON is the custom unmarshaler for WorkflowTrigger struct.
5529func (wt *WorkflowTrigger) UnmarshalJSON(body []byte) error {
5530	var m map[string]*json.RawMessage
5531	err := json.Unmarshal(body, &m)
5532	if err != nil {
5533		return err
5534	}
5535	for k, v := range m {
5536		switch k {
5537		case "properties":
5538			if v != nil {
5539				var workflowTriggerProperties WorkflowTriggerProperties
5540				err = json.Unmarshal(*v, &workflowTriggerProperties)
5541				if err != nil {
5542					return err
5543				}
5544				wt.WorkflowTriggerProperties = &workflowTriggerProperties
5545			}
5546		case "name":
5547			if v != nil {
5548				var name string
5549				err = json.Unmarshal(*v, &name)
5550				if err != nil {
5551					return err
5552				}
5553				wt.Name = &name
5554			}
5555		case "type":
5556			if v != nil {
5557				var typeVar string
5558				err = json.Unmarshal(*v, &typeVar)
5559				if err != nil {
5560					return err
5561				}
5562				wt.Type = &typeVar
5563			}
5564		case "id":
5565			if v != nil {
5566				var ID string
5567				err = json.Unmarshal(*v, &ID)
5568				if err != nil {
5569					return err
5570				}
5571				wt.ID = &ID
5572			}
5573		}
5574	}
5575
5576	return nil
5577}
5578
5579// WorkflowTriggerCallbackURL the workflow trigger callback URL.
5580type WorkflowTriggerCallbackURL struct {
5581	autorest.Response `json:"-"`
5582	// Value - READ-ONLY; Gets the workflow trigger callback URL.
5583	Value *string `json:"value,omitempty"`
5584	// Method - READ-ONLY; Gets the workflow trigger callback URL HTTP method.
5585	Method *string `json:"method,omitempty"`
5586	// BasePath - READ-ONLY; Gets the workflow trigger callback URL base path.
5587	BasePath *string `json:"basePath,omitempty"`
5588	// RelativePath - READ-ONLY; Gets the workflow trigger callback URL relative path.
5589	RelativePath *string `json:"relativePath,omitempty"`
5590	// RelativePathParameters - Gets the workflow trigger callback URL relative path parameters.
5591	RelativePathParameters *[]string `json:"relativePathParameters,omitempty"`
5592	// Queries - Gets the workflow trigger callback URL query parameters.
5593	Queries *WorkflowTriggerListCallbackURLQueries `json:"queries,omitempty"`
5594}
5595
5596// WorkflowTriggerFilter the workflow trigger filter.
5597type WorkflowTriggerFilter struct {
5598	// State - The state of workflow trigger. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended'
5599	State WorkflowState `json:"state,omitempty"`
5600}
5601
5602// WorkflowTriggerHistory the workflow trigger history.
5603type WorkflowTriggerHistory struct {
5604	autorest.Response `json:"-"`
5605	// WorkflowTriggerHistoryProperties - Gets the workflow trigger history properties.
5606	*WorkflowTriggerHistoryProperties `json:"properties,omitempty"`
5607	// Name - READ-ONLY; Gets the workflow trigger history name.
5608	Name *string `json:"name,omitempty"`
5609	// Type - READ-ONLY; Gets the workflow trigger history type.
5610	Type *string `json:"type,omitempty"`
5611	// ID - READ-ONLY; The resource id.
5612	ID *string `json:"id,omitempty"`
5613}
5614
5615// MarshalJSON is the custom marshaler for WorkflowTriggerHistory.
5616func (wth WorkflowTriggerHistory) MarshalJSON() ([]byte, error) {
5617	objectMap := make(map[string]interface{})
5618	if wth.WorkflowTriggerHistoryProperties != nil {
5619		objectMap["properties"] = wth.WorkflowTriggerHistoryProperties
5620	}
5621	return json.Marshal(objectMap)
5622}
5623
5624// UnmarshalJSON is the custom unmarshaler for WorkflowTriggerHistory struct.
5625func (wth *WorkflowTriggerHistory) UnmarshalJSON(body []byte) error {
5626	var m map[string]*json.RawMessage
5627	err := json.Unmarshal(body, &m)
5628	if err != nil {
5629		return err
5630	}
5631	for k, v := range m {
5632		switch k {
5633		case "properties":
5634			if v != nil {
5635				var workflowTriggerHistoryProperties WorkflowTriggerHistoryProperties
5636				err = json.Unmarshal(*v, &workflowTriggerHistoryProperties)
5637				if err != nil {
5638					return err
5639				}
5640				wth.WorkflowTriggerHistoryProperties = &workflowTriggerHistoryProperties
5641			}
5642		case "name":
5643			if v != nil {
5644				var name string
5645				err = json.Unmarshal(*v, &name)
5646				if err != nil {
5647					return err
5648				}
5649				wth.Name = &name
5650			}
5651		case "type":
5652			if v != nil {
5653				var typeVar string
5654				err = json.Unmarshal(*v, &typeVar)
5655				if err != nil {
5656					return err
5657				}
5658				wth.Type = &typeVar
5659			}
5660		case "id":
5661			if v != nil {
5662				var ID string
5663				err = json.Unmarshal(*v, &ID)
5664				if err != nil {
5665					return err
5666				}
5667				wth.ID = &ID
5668			}
5669		}
5670	}
5671
5672	return nil
5673}
5674
5675// WorkflowTriggerHistoryFilter the workflow trigger history filter.
5676type WorkflowTriggerHistoryFilter struct {
5677	// Status - The status of workflow trigger history. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
5678	Status WorkflowStatus `json:"status,omitempty"`
5679}
5680
5681// WorkflowTriggerHistoryListResult the list of workflow trigger histories.
5682type WorkflowTriggerHistoryListResult struct {
5683	autorest.Response `json:"-"`
5684	// Value - A list of workflow trigger histories.
5685	Value *[]WorkflowTriggerHistory `json:"value,omitempty"`
5686	// NextLink - The URL to get the next set of results.
5687	NextLink *string `json:"nextLink,omitempty"`
5688}
5689
5690// WorkflowTriggerHistoryListResultIterator provides access to a complete listing of WorkflowTriggerHistory
5691// values.
5692type WorkflowTriggerHistoryListResultIterator struct {
5693	i    int
5694	page WorkflowTriggerHistoryListResultPage
5695}
5696
5697// NextWithContext advances to the next value.  If there was an error making
5698// the request the iterator does not advance and the error is returned.
5699func (iter *WorkflowTriggerHistoryListResultIterator) NextWithContext(ctx context.Context) (err error) {
5700	if tracing.IsEnabled() {
5701		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerHistoryListResultIterator.NextWithContext")
5702		defer func() {
5703			sc := -1
5704			if iter.Response().Response.Response != nil {
5705				sc = iter.Response().Response.Response.StatusCode
5706			}
5707			tracing.EndSpan(ctx, sc, err)
5708		}()
5709	}
5710	iter.i++
5711	if iter.i < len(iter.page.Values()) {
5712		return nil
5713	}
5714	err = iter.page.NextWithContext(ctx)
5715	if err != nil {
5716		iter.i--
5717		return err
5718	}
5719	iter.i = 0
5720	return nil
5721}
5722
5723// Next advances to the next value.  If there was an error making
5724// the request the iterator does not advance and the error is returned.
5725// Deprecated: Use NextWithContext() instead.
5726func (iter *WorkflowTriggerHistoryListResultIterator) Next() error {
5727	return iter.NextWithContext(context.Background())
5728}
5729
5730// NotDone returns true if the enumeration should be started or is not yet complete.
5731func (iter WorkflowTriggerHistoryListResultIterator) NotDone() bool {
5732	return iter.page.NotDone() && iter.i < len(iter.page.Values())
5733}
5734
5735// Response returns the raw server response from the last page request.
5736func (iter WorkflowTriggerHistoryListResultIterator) Response() WorkflowTriggerHistoryListResult {
5737	return iter.page.Response()
5738}
5739
5740// Value returns the current value or a zero-initialized value if the
5741// iterator has advanced beyond the end of the collection.
5742func (iter WorkflowTriggerHistoryListResultIterator) Value() WorkflowTriggerHistory {
5743	if !iter.page.NotDone() {
5744		return WorkflowTriggerHistory{}
5745	}
5746	return iter.page.Values()[iter.i]
5747}
5748
5749// Creates a new instance of the WorkflowTriggerHistoryListResultIterator type.
5750func NewWorkflowTriggerHistoryListResultIterator(page WorkflowTriggerHistoryListResultPage) WorkflowTriggerHistoryListResultIterator {
5751	return WorkflowTriggerHistoryListResultIterator{page: page}
5752}
5753
5754// IsEmpty returns true if the ListResult contains no values.
5755func (wthlr WorkflowTriggerHistoryListResult) IsEmpty() bool {
5756	return wthlr.Value == nil || len(*wthlr.Value) == 0
5757}
5758
5759// workflowTriggerHistoryListResultPreparer prepares a request to retrieve the next set of results.
5760// It returns nil if no more results exist.
5761func (wthlr WorkflowTriggerHistoryListResult) workflowTriggerHistoryListResultPreparer(ctx context.Context) (*http.Request, error) {
5762	if wthlr.NextLink == nil || len(to.String(wthlr.NextLink)) < 1 {
5763		return nil, nil
5764	}
5765	return autorest.Prepare((&http.Request{}).WithContext(ctx),
5766		autorest.AsJSON(),
5767		autorest.AsGet(),
5768		autorest.WithBaseURL(to.String(wthlr.NextLink)))
5769}
5770
5771// WorkflowTriggerHistoryListResultPage contains a page of WorkflowTriggerHistory values.
5772type WorkflowTriggerHistoryListResultPage struct {
5773	fn    func(context.Context, WorkflowTriggerHistoryListResult) (WorkflowTriggerHistoryListResult, error)
5774	wthlr WorkflowTriggerHistoryListResult
5775}
5776
5777// NextWithContext advances to the next page of values.  If there was an error making
5778// the request the page does not advance and the error is returned.
5779func (page *WorkflowTriggerHistoryListResultPage) NextWithContext(ctx context.Context) (err error) {
5780	if tracing.IsEnabled() {
5781		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerHistoryListResultPage.NextWithContext")
5782		defer func() {
5783			sc := -1
5784			if page.Response().Response.Response != nil {
5785				sc = page.Response().Response.Response.StatusCode
5786			}
5787			tracing.EndSpan(ctx, sc, err)
5788		}()
5789	}
5790	next, err := page.fn(ctx, page.wthlr)
5791	if err != nil {
5792		return err
5793	}
5794	page.wthlr = next
5795	return nil
5796}
5797
5798// Next advances to the next page of values.  If there was an error making
5799// the request the page does not advance and the error is returned.
5800// Deprecated: Use NextWithContext() instead.
5801func (page *WorkflowTriggerHistoryListResultPage) Next() error {
5802	return page.NextWithContext(context.Background())
5803}
5804
5805// NotDone returns true if the page enumeration should be started or is not yet complete.
5806func (page WorkflowTriggerHistoryListResultPage) NotDone() bool {
5807	return !page.wthlr.IsEmpty()
5808}
5809
5810// Response returns the raw server response from the last page request.
5811func (page WorkflowTriggerHistoryListResultPage) Response() WorkflowTriggerHistoryListResult {
5812	return page.wthlr
5813}
5814
5815// Values returns the slice of values for the current page or nil if there are no values.
5816func (page WorkflowTriggerHistoryListResultPage) Values() []WorkflowTriggerHistory {
5817	if page.wthlr.IsEmpty() {
5818		return nil
5819	}
5820	return *page.wthlr.Value
5821}
5822
5823// Creates a new instance of the WorkflowTriggerHistoryListResultPage type.
5824func NewWorkflowTriggerHistoryListResultPage(getNextPage func(context.Context, WorkflowTriggerHistoryListResult) (WorkflowTriggerHistoryListResult, error)) WorkflowTriggerHistoryListResultPage {
5825	return WorkflowTriggerHistoryListResultPage{fn: getNextPage}
5826}
5827
5828// WorkflowTriggerHistoryProperties the workflow trigger history properties.
5829type WorkflowTriggerHistoryProperties struct {
5830	// StartTime - READ-ONLY; Gets the start time.
5831	StartTime *date.Time `json:"startTime,omitempty"`
5832	// EndTime - READ-ONLY; Gets the end time.
5833	EndTime *date.Time `json:"endTime,omitempty"`
5834	// Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
5835	Status WorkflowStatus `json:"status,omitempty"`
5836	// Code - READ-ONLY; Gets the code.
5837	Code *string `json:"code,omitempty"`
5838	// Error - READ-ONLY; Gets the error.
5839	Error interface{} `json:"error,omitempty"`
5840	// TrackingID - READ-ONLY; Gets the tracking id.
5841	TrackingID *string `json:"trackingId,omitempty"`
5842	// Correlation - The run correlation.
5843	Correlation *Correlation `json:"correlation,omitempty"`
5844	// InputsLink - READ-ONLY; Gets the link to input parameters.
5845	InputsLink *ContentLink `json:"inputsLink,omitempty"`
5846	// OutputsLink - READ-ONLY; Gets the link to output parameters.
5847	OutputsLink *ContentLink `json:"outputsLink,omitempty"`
5848	// Fired - READ-ONLY; Gets a value indicating whether trigger was fired.
5849	Fired *bool `json:"fired,omitempty"`
5850	// Run - READ-ONLY; Gets the reference to workflow run.
5851	Run *ResourceReference `json:"run,omitempty"`
5852}
5853
5854// WorkflowTriggerListCallbackURLQueries gets the workflow trigger callback URL query parameters.
5855type WorkflowTriggerListCallbackURLQueries struct {
5856	// APIVersion - The api version.
5857	APIVersion *string `json:"api-version,omitempty"`
5858	// Sp - The SAS permissions.
5859	Sp *string `json:"sp,omitempty"`
5860	// Sv - The SAS version.
5861	Sv *string `json:"sv,omitempty"`
5862	// Sig - The SAS signature.
5863	Sig *string `json:"sig,omitempty"`
5864	// Se - The SAS timestamp.
5865	Se *string `json:"se,omitempty"`
5866}
5867
5868// WorkflowTriggerListResult the list of workflow triggers.
5869type WorkflowTriggerListResult struct {
5870	autorest.Response `json:"-"`
5871	// Value - A list of workflow triggers.
5872	Value *[]WorkflowTrigger `json:"value,omitempty"`
5873	// NextLink - The URL to get the next set of results.
5874	NextLink *string `json:"nextLink,omitempty"`
5875}
5876
5877// WorkflowTriggerListResultIterator provides access to a complete listing of WorkflowTrigger values.
5878type WorkflowTriggerListResultIterator struct {
5879	i    int
5880	page WorkflowTriggerListResultPage
5881}
5882
5883// NextWithContext advances to the next value.  If there was an error making
5884// the request the iterator does not advance and the error is returned.
5885func (iter *WorkflowTriggerListResultIterator) NextWithContext(ctx context.Context) (err error) {
5886	if tracing.IsEnabled() {
5887		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerListResultIterator.NextWithContext")
5888		defer func() {
5889			sc := -1
5890			if iter.Response().Response.Response != nil {
5891				sc = iter.Response().Response.Response.StatusCode
5892			}
5893			tracing.EndSpan(ctx, sc, err)
5894		}()
5895	}
5896	iter.i++
5897	if iter.i < len(iter.page.Values()) {
5898		return nil
5899	}
5900	err = iter.page.NextWithContext(ctx)
5901	if err != nil {
5902		iter.i--
5903		return err
5904	}
5905	iter.i = 0
5906	return nil
5907}
5908
5909// Next advances to the next value.  If there was an error making
5910// the request the iterator does not advance and the error is returned.
5911// Deprecated: Use NextWithContext() instead.
5912func (iter *WorkflowTriggerListResultIterator) Next() error {
5913	return iter.NextWithContext(context.Background())
5914}
5915
5916// NotDone returns true if the enumeration should be started or is not yet complete.
5917func (iter WorkflowTriggerListResultIterator) NotDone() bool {
5918	return iter.page.NotDone() && iter.i < len(iter.page.Values())
5919}
5920
5921// Response returns the raw server response from the last page request.
5922func (iter WorkflowTriggerListResultIterator) Response() WorkflowTriggerListResult {
5923	return iter.page.Response()
5924}
5925
5926// Value returns the current value or a zero-initialized value if the
5927// iterator has advanced beyond the end of the collection.
5928func (iter WorkflowTriggerListResultIterator) Value() WorkflowTrigger {
5929	if !iter.page.NotDone() {
5930		return WorkflowTrigger{}
5931	}
5932	return iter.page.Values()[iter.i]
5933}
5934
5935// Creates a new instance of the WorkflowTriggerListResultIterator type.
5936func NewWorkflowTriggerListResultIterator(page WorkflowTriggerListResultPage) WorkflowTriggerListResultIterator {
5937	return WorkflowTriggerListResultIterator{page: page}
5938}
5939
5940// IsEmpty returns true if the ListResult contains no values.
5941func (wtlr WorkflowTriggerListResult) IsEmpty() bool {
5942	return wtlr.Value == nil || len(*wtlr.Value) == 0
5943}
5944
5945// workflowTriggerListResultPreparer prepares a request to retrieve the next set of results.
5946// It returns nil if no more results exist.
5947func (wtlr WorkflowTriggerListResult) workflowTriggerListResultPreparer(ctx context.Context) (*http.Request, error) {
5948	if wtlr.NextLink == nil || len(to.String(wtlr.NextLink)) < 1 {
5949		return nil, nil
5950	}
5951	return autorest.Prepare((&http.Request{}).WithContext(ctx),
5952		autorest.AsJSON(),
5953		autorest.AsGet(),
5954		autorest.WithBaseURL(to.String(wtlr.NextLink)))
5955}
5956
5957// WorkflowTriggerListResultPage contains a page of WorkflowTrigger values.
5958type WorkflowTriggerListResultPage struct {
5959	fn   func(context.Context, WorkflowTriggerListResult) (WorkflowTriggerListResult, error)
5960	wtlr WorkflowTriggerListResult
5961}
5962
5963// NextWithContext advances to the next page of values.  If there was an error making
5964// the request the page does not advance and the error is returned.
5965func (page *WorkflowTriggerListResultPage) NextWithContext(ctx context.Context) (err error) {
5966	if tracing.IsEnabled() {
5967		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerListResultPage.NextWithContext")
5968		defer func() {
5969			sc := -1
5970			if page.Response().Response.Response != nil {
5971				sc = page.Response().Response.Response.StatusCode
5972			}
5973			tracing.EndSpan(ctx, sc, err)
5974		}()
5975	}
5976	next, err := page.fn(ctx, page.wtlr)
5977	if err != nil {
5978		return err
5979	}
5980	page.wtlr = next
5981	return nil
5982}
5983
5984// Next advances to the next page of values.  If there was an error making
5985// the request the page does not advance and the error is returned.
5986// Deprecated: Use NextWithContext() instead.
5987func (page *WorkflowTriggerListResultPage) Next() error {
5988	return page.NextWithContext(context.Background())
5989}
5990
5991// NotDone returns true if the page enumeration should be started or is not yet complete.
5992func (page WorkflowTriggerListResultPage) NotDone() bool {
5993	return !page.wtlr.IsEmpty()
5994}
5995
5996// Response returns the raw server response from the last page request.
5997func (page WorkflowTriggerListResultPage) Response() WorkflowTriggerListResult {
5998	return page.wtlr
5999}
6000
6001// Values returns the slice of values for the current page or nil if there are no values.
6002func (page WorkflowTriggerListResultPage) Values() []WorkflowTrigger {
6003	if page.wtlr.IsEmpty() {
6004		return nil
6005	}
6006	return *page.wtlr.Value
6007}
6008
6009// Creates a new instance of the WorkflowTriggerListResultPage type.
6010func NewWorkflowTriggerListResultPage(getNextPage func(context.Context, WorkflowTriggerListResult) (WorkflowTriggerListResult, error)) WorkflowTriggerListResultPage {
6011	return WorkflowTriggerListResultPage{fn: getNextPage}
6012}
6013
6014// WorkflowTriggerProperties the workflow trigger properties.
6015type WorkflowTriggerProperties struct {
6016	// ProvisioningState - READ-ONLY; Gets the provisioning state. Possible values include: 'WorkflowTriggerProvisioningStateNotSpecified', 'WorkflowTriggerProvisioningStateAccepted', 'WorkflowTriggerProvisioningStateRunning', 'WorkflowTriggerProvisioningStateReady', 'WorkflowTriggerProvisioningStateCreating', 'WorkflowTriggerProvisioningStateCreated', 'WorkflowTriggerProvisioningStateDeleting', 'WorkflowTriggerProvisioningStateDeleted', 'WorkflowTriggerProvisioningStateCanceled', 'WorkflowTriggerProvisioningStateFailed', 'WorkflowTriggerProvisioningStateSucceeded', 'WorkflowTriggerProvisioningStateMoving', 'WorkflowTriggerProvisioningStateUpdating', 'WorkflowTriggerProvisioningStateRegistering', 'WorkflowTriggerProvisioningStateRegistered', 'WorkflowTriggerProvisioningStateUnregistering', 'WorkflowTriggerProvisioningStateUnregistered', 'WorkflowTriggerProvisioningStateCompleted'
6017	ProvisioningState WorkflowTriggerProvisioningState `json:"provisioningState,omitempty"`
6018	// CreatedTime - READ-ONLY; Gets the created time.
6019	CreatedTime *date.Time `json:"createdTime,omitempty"`
6020	// ChangedTime - READ-ONLY; Gets the changed time.
6021	ChangedTime *date.Time `json:"changedTime,omitempty"`
6022	// State - READ-ONLY; Gets the state. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended'
6023	State WorkflowState `json:"state,omitempty"`
6024	// Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored'
6025	Status WorkflowStatus `json:"status,omitempty"`
6026	// LastExecutionTime - READ-ONLY; Gets the last execution time.
6027	LastExecutionTime *date.Time `json:"lastExecutionTime,omitempty"`
6028	// NextExecutionTime - READ-ONLY; Gets the next execution time.
6029	NextExecutionTime *date.Time `json:"nextExecutionTime,omitempty"`
6030	// Recurrence - READ-ONLY; Gets the workflow trigger recurrence.
6031	Recurrence *WorkflowTriggerRecurrence `json:"recurrence,omitempty"`
6032	// Workflow - READ-ONLY; Gets the reference to workflow.
6033	Workflow *ResourceReference `json:"workflow,omitempty"`
6034}
6035
6036// WorkflowTriggerRecurrence the workflow trigger recurrence.
6037type WorkflowTriggerRecurrence struct {
6038	// Frequency - The frequency. Possible values include: 'RecurrenceFrequencyNotSpecified', 'RecurrenceFrequencySecond', 'RecurrenceFrequencyMinute', 'RecurrenceFrequencyHour', 'RecurrenceFrequencyDay', 'RecurrenceFrequencyWeek', 'RecurrenceFrequencyMonth', 'RecurrenceFrequencyYear'
6039	Frequency RecurrenceFrequency `json:"frequency,omitempty"`
6040	// Interval - The interval.
6041	Interval *int32 `json:"interval,omitempty"`
6042	// StartTime - The start time.
6043	StartTime *string `json:"startTime,omitempty"`
6044	// EndTime - The end time.
6045	EndTime *string `json:"endTime,omitempty"`
6046	// TimeZone - The time zone.
6047	TimeZone *string `json:"timeZone,omitempty"`
6048	// Schedule - The recurrence schedule.
6049	Schedule *RecurrenceSchedule `json:"schedule,omitempty"`
6050}
6051
6052// WorkflowVersion the workflow version.
6053type WorkflowVersion struct {
6054	autorest.Response `json:"-"`
6055	// WorkflowVersionProperties - The workflow version properties.
6056	*WorkflowVersionProperties `json:"properties,omitempty"`
6057	// ID - READ-ONLY; The resource id.
6058	ID *string `json:"id,omitempty"`
6059	// Name - READ-ONLY; Gets the resource name.
6060	Name *string `json:"name,omitempty"`
6061	// Type - READ-ONLY; Gets the resource type.
6062	Type *string `json:"type,omitempty"`
6063	// Location - The resource location.
6064	Location *string `json:"location,omitempty"`
6065	// Tags - The resource tags.
6066	Tags map[string]*string `json:"tags"`
6067}
6068
6069// MarshalJSON is the custom marshaler for WorkflowVersion.
6070func (wv WorkflowVersion) MarshalJSON() ([]byte, error) {
6071	objectMap := make(map[string]interface{})
6072	if wv.WorkflowVersionProperties != nil {
6073		objectMap["properties"] = wv.WorkflowVersionProperties
6074	}
6075	if wv.Location != nil {
6076		objectMap["location"] = wv.Location
6077	}
6078	if wv.Tags != nil {
6079		objectMap["tags"] = wv.Tags
6080	}
6081	return json.Marshal(objectMap)
6082}
6083
6084// UnmarshalJSON is the custom unmarshaler for WorkflowVersion struct.
6085func (wv *WorkflowVersion) UnmarshalJSON(body []byte) error {
6086	var m map[string]*json.RawMessage
6087	err := json.Unmarshal(body, &m)
6088	if err != nil {
6089		return err
6090	}
6091	for k, v := range m {
6092		switch k {
6093		case "properties":
6094			if v != nil {
6095				var workflowVersionProperties WorkflowVersionProperties
6096				err = json.Unmarshal(*v, &workflowVersionProperties)
6097				if err != nil {
6098					return err
6099				}
6100				wv.WorkflowVersionProperties = &workflowVersionProperties
6101			}
6102		case "id":
6103			if v != nil {
6104				var ID string
6105				err = json.Unmarshal(*v, &ID)
6106				if err != nil {
6107					return err
6108				}
6109				wv.ID = &ID
6110			}
6111		case "name":
6112			if v != nil {
6113				var name string
6114				err = json.Unmarshal(*v, &name)
6115				if err != nil {
6116					return err
6117				}
6118				wv.Name = &name
6119			}
6120		case "type":
6121			if v != nil {
6122				var typeVar string
6123				err = json.Unmarshal(*v, &typeVar)
6124				if err != nil {
6125					return err
6126				}
6127				wv.Type = &typeVar
6128			}
6129		case "location":
6130			if v != nil {
6131				var location string
6132				err = json.Unmarshal(*v, &location)
6133				if err != nil {
6134					return err
6135				}
6136				wv.Location = &location
6137			}
6138		case "tags":
6139			if v != nil {
6140				var tags map[string]*string
6141				err = json.Unmarshal(*v, &tags)
6142				if err != nil {
6143					return err
6144				}
6145				wv.Tags = tags
6146			}
6147		}
6148	}
6149
6150	return nil
6151}
6152
6153// WorkflowVersionListResult the list of workflow versions.
6154type WorkflowVersionListResult struct {
6155	autorest.Response `json:"-"`
6156	// Value - A list of workflow versions.
6157	Value *[]WorkflowVersion `json:"value,omitempty"`
6158	// NextLink - The URL to get the next set of results.
6159	NextLink *string `json:"nextLink,omitempty"`
6160}
6161
6162// WorkflowVersionListResultIterator provides access to a complete listing of WorkflowVersion values.
6163type WorkflowVersionListResultIterator struct {
6164	i    int
6165	page WorkflowVersionListResultPage
6166}
6167
6168// NextWithContext advances to the next value.  If there was an error making
6169// the request the iterator does not advance and the error is returned.
6170func (iter *WorkflowVersionListResultIterator) NextWithContext(ctx context.Context) (err error) {
6171	if tracing.IsEnabled() {
6172		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowVersionListResultIterator.NextWithContext")
6173		defer func() {
6174			sc := -1
6175			if iter.Response().Response.Response != nil {
6176				sc = iter.Response().Response.Response.StatusCode
6177			}
6178			tracing.EndSpan(ctx, sc, err)
6179		}()
6180	}
6181	iter.i++
6182	if iter.i < len(iter.page.Values()) {
6183		return nil
6184	}
6185	err = iter.page.NextWithContext(ctx)
6186	if err != nil {
6187		iter.i--
6188		return err
6189	}
6190	iter.i = 0
6191	return nil
6192}
6193
6194// Next advances to the next value.  If there was an error making
6195// the request the iterator does not advance and the error is returned.
6196// Deprecated: Use NextWithContext() instead.
6197func (iter *WorkflowVersionListResultIterator) Next() error {
6198	return iter.NextWithContext(context.Background())
6199}
6200
6201// NotDone returns true if the enumeration should be started or is not yet complete.
6202func (iter WorkflowVersionListResultIterator) NotDone() bool {
6203	return iter.page.NotDone() && iter.i < len(iter.page.Values())
6204}
6205
6206// Response returns the raw server response from the last page request.
6207func (iter WorkflowVersionListResultIterator) Response() WorkflowVersionListResult {
6208	return iter.page.Response()
6209}
6210
6211// Value returns the current value or a zero-initialized value if the
6212// iterator has advanced beyond the end of the collection.
6213func (iter WorkflowVersionListResultIterator) Value() WorkflowVersion {
6214	if !iter.page.NotDone() {
6215		return WorkflowVersion{}
6216	}
6217	return iter.page.Values()[iter.i]
6218}
6219
6220// Creates a new instance of the WorkflowVersionListResultIterator type.
6221func NewWorkflowVersionListResultIterator(page WorkflowVersionListResultPage) WorkflowVersionListResultIterator {
6222	return WorkflowVersionListResultIterator{page: page}
6223}
6224
6225// IsEmpty returns true if the ListResult contains no values.
6226func (wvlr WorkflowVersionListResult) IsEmpty() bool {
6227	return wvlr.Value == nil || len(*wvlr.Value) == 0
6228}
6229
6230// workflowVersionListResultPreparer prepares a request to retrieve the next set of results.
6231// It returns nil if no more results exist.
6232func (wvlr WorkflowVersionListResult) workflowVersionListResultPreparer(ctx context.Context) (*http.Request, error) {
6233	if wvlr.NextLink == nil || len(to.String(wvlr.NextLink)) < 1 {
6234		return nil, nil
6235	}
6236	return autorest.Prepare((&http.Request{}).WithContext(ctx),
6237		autorest.AsJSON(),
6238		autorest.AsGet(),
6239		autorest.WithBaseURL(to.String(wvlr.NextLink)))
6240}
6241
6242// WorkflowVersionListResultPage contains a page of WorkflowVersion values.
6243type WorkflowVersionListResultPage struct {
6244	fn   func(context.Context, WorkflowVersionListResult) (WorkflowVersionListResult, error)
6245	wvlr WorkflowVersionListResult
6246}
6247
6248// NextWithContext advances to the next page of values.  If there was an error making
6249// the request the page does not advance and the error is returned.
6250func (page *WorkflowVersionListResultPage) NextWithContext(ctx context.Context) (err error) {
6251	if tracing.IsEnabled() {
6252		ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowVersionListResultPage.NextWithContext")
6253		defer func() {
6254			sc := -1
6255			if page.Response().Response.Response != nil {
6256				sc = page.Response().Response.Response.StatusCode
6257			}
6258			tracing.EndSpan(ctx, sc, err)
6259		}()
6260	}
6261	next, err := page.fn(ctx, page.wvlr)
6262	if err != nil {
6263		return err
6264	}
6265	page.wvlr = next
6266	return nil
6267}
6268
6269// Next advances to the next page of values.  If there was an error making
6270// the request the page does not advance and the error is returned.
6271// Deprecated: Use NextWithContext() instead.
6272func (page *WorkflowVersionListResultPage) Next() error {
6273	return page.NextWithContext(context.Background())
6274}
6275
6276// NotDone returns true if the page enumeration should be started or is not yet complete.
6277func (page WorkflowVersionListResultPage) NotDone() bool {
6278	return !page.wvlr.IsEmpty()
6279}
6280
6281// Response returns the raw server response from the last page request.
6282func (page WorkflowVersionListResultPage) Response() WorkflowVersionListResult {
6283	return page.wvlr
6284}
6285
6286// Values returns the slice of values for the current page or nil if there are no values.
6287func (page WorkflowVersionListResultPage) Values() []WorkflowVersion {
6288	if page.wvlr.IsEmpty() {
6289		return nil
6290	}
6291	return *page.wvlr.Value
6292}
6293
6294// Creates a new instance of the WorkflowVersionListResultPage type.
6295func NewWorkflowVersionListResultPage(getNextPage func(context.Context, WorkflowVersionListResult) (WorkflowVersionListResult, error)) WorkflowVersionListResultPage {
6296	return WorkflowVersionListResultPage{fn: getNextPage}
6297}
6298
6299// WorkflowVersionProperties the workflow version properties.
6300type WorkflowVersionProperties struct {
6301	// CreatedTime - READ-ONLY; Gets the created time.
6302	CreatedTime *date.Time `json:"createdTime,omitempty"`
6303	// ChangedTime - READ-ONLY; Gets the changed time.
6304	ChangedTime *date.Time `json:"changedTime,omitempty"`
6305	// State - The state. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended'
6306	State WorkflowState `json:"state,omitempty"`
6307	// Version - READ-ONLY; Gets the version.
6308	Version *string `json:"version,omitempty"`
6309	// AccessEndpoint - READ-ONLY; Gets the access endpoint.
6310	AccessEndpoint *string `json:"accessEndpoint,omitempty"`
6311	// Sku - The sku.
6312	Sku *Sku `json:"sku,omitempty"`
6313	// IntegrationAccount - The integration account.
6314	IntegrationAccount *ResourceReference `json:"integrationAccount,omitempty"`
6315	// Definition - The definition.
6316	Definition interface{} `json:"definition,omitempty"`
6317	// Parameters - The parameters.
6318	Parameters map[string]*WorkflowParameter `json:"parameters"`
6319}
6320
6321// MarshalJSON is the custom marshaler for WorkflowVersionProperties.
6322func (wvp WorkflowVersionProperties) MarshalJSON() ([]byte, error) {
6323	objectMap := make(map[string]interface{})
6324	if wvp.State != "" {
6325		objectMap["state"] = wvp.State
6326	}
6327	if wvp.Sku != nil {
6328		objectMap["sku"] = wvp.Sku
6329	}
6330	if wvp.IntegrationAccount != nil {
6331		objectMap["integrationAccount"] = wvp.IntegrationAccount
6332	}
6333	if wvp.Definition != nil {
6334		objectMap["definition"] = wvp.Definition
6335	}
6336	if wvp.Parameters != nil {
6337		objectMap["parameters"] = wvp.Parameters
6338	}
6339	return json.Marshal(objectMap)
6340}
6341
6342// X12AcknowledgementSettings the X12 agreement acknowledgement settings.
6343type X12AcknowledgementSettings struct {
6344	// NeedTechnicalAcknowledgement - The value indicating whether technical acknowledgement is needed.
6345	NeedTechnicalAcknowledgement *bool `json:"needTechnicalAcknowledgement,omitempty"`
6346	// BatchTechnicalAcknowledgements - The value indicating whether to batch the technical acknowledgements.
6347	BatchTechnicalAcknowledgements *bool `json:"batchTechnicalAcknowledgements,omitempty"`
6348	// NeedFunctionalAcknowledgement - The value indicating whether functional acknowledgement is needed.
6349	NeedFunctionalAcknowledgement *bool `json:"needFunctionalAcknowledgement,omitempty"`
6350	// FunctionalAcknowledgementVersion - The functional acknowledgement version.
6351	FunctionalAcknowledgementVersion *string `json:"functionalAcknowledgementVersion,omitempty"`
6352	// BatchFunctionalAcknowledgements - The value indicating whether to batch functional acknowledgements.
6353	BatchFunctionalAcknowledgements *bool `json:"batchFunctionalAcknowledgements,omitempty"`
6354	// NeedImplementationAcknowledgement - The value indicating whether implementation acknowledgement is needed.
6355	NeedImplementationAcknowledgement *bool `json:"needImplementationAcknowledgement,omitempty"`
6356	// ImplementationAcknowledgementVersion - The implementation acknowledgement version.
6357	ImplementationAcknowledgementVersion *string `json:"implementationAcknowledgementVersion,omitempty"`
6358	// BatchImplementationAcknowledgements - The value indicating whether to batch implementation acknowledgements.
6359	BatchImplementationAcknowledgements *bool `json:"batchImplementationAcknowledgements,omitempty"`
6360	// NeedLoopForValidMessages - The value indicating whether a loop is needed for valid messages.
6361	NeedLoopForValidMessages *bool `json:"needLoopForValidMessages,omitempty"`
6362	// SendSynchronousAcknowledgement - The value indicating whether to send synchronous acknowledgement.
6363	SendSynchronousAcknowledgement *bool `json:"sendSynchronousAcknowledgement,omitempty"`
6364	// AcknowledgementControlNumberPrefix - The acknowledgement control number prefix.
6365	AcknowledgementControlNumberPrefix *string `json:"acknowledgementControlNumberPrefix,omitempty"`
6366	// AcknowledgementControlNumberSuffix - The acknowledgement control number suffix.
6367	AcknowledgementControlNumberSuffix *string `json:"acknowledgementControlNumberSuffix,omitempty"`
6368	// AcknowledgementControlNumberLowerBound - The acknowledgement control number lower bound.
6369	AcknowledgementControlNumberLowerBound *int32 `json:"acknowledgementControlNumberLowerBound,omitempty"`
6370	// AcknowledgementControlNumberUpperBound - The acknowledgement control number upper bound.
6371	AcknowledgementControlNumberUpperBound *int32 `json:"acknowledgementControlNumberUpperBound,omitempty"`
6372	// RolloverAcknowledgementControlNumber - The value indicating whether to rollover acknowledgement control number.
6373	RolloverAcknowledgementControlNumber *bool `json:"rolloverAcknowledgementControlNumber,omitempty"`
6374}
6375
6376// X12AgreementContent the X12 agreement content.
6377type X12AgreementContent struct {
6378	// ReceiveAgreement - The X12 one-way receive agreement.
6379	ReceiveAgreement *X12OneWayAgreement `json:"receiveAgreement,omitempty"`
6380	// SendAgreement - The X12 one-way send agreement.
6381	SendAgreement *X12OneWayAgreement `json:"sendAgreement,omitempty"`
6382}
6383
6384// X12DelimiterOverrides the X12 delimiter override settings.
6385type X12DelimiterOverrides struct {
6386	// ProtocolVersion - The protocol version.
6387	ProtocolVersion *string `json:"protocolVersion,omitempty"`
6388	// MessageID - The message id.
6389	MessageID *string `json:"messageId,omitempty"`
6390	// DataElementSeparator - The data element separator.
6391	DataElementSeparator *int32 `json:"dataElementSeparator,omitempty"`
6392	// ComponentSeparator - The component separator.
6393	ComponentSeparator *int32 `json:"componentSeparator,omitempty"`
6394	// SegmentTerminator - The segment terminator.
6395	SegmentTerminator *int32 `json:"segmentTerminator,omitempty"`
6396	// SegmentTerminatorSuffix - The segment terminator suffix. Possible values include: 'SegmentTerminatorSuffixNotSpecified', 'SegmentTerminatorSuffixNone', 'SegmentTerminatorSuffixCR', 'SegmentTerminatorSuffixLF', 'SegmentTerminatorSuffixCRLF'
6397	SegmentTerminatorSuffix SegmentTerminatorSuffix `json:"segmentTerminatorSuffix,omitempty"`
6398	// ReplaceCharacter - The replacement character.
6399	ReplaceCharacter *int32 `json:"replaceCharacter,omitempty"`
6400	// ReplaceSeparatorsInPayload - The value indicating whether to replace separators in payload.
6401	ReplaceSeparatorsInPayload *bool `json:"replaceSeparatorsInPayload,omitempty"`
6402	// TargetNamespace - The target namespace on which this delimiter settings has to be applied.
6403	TargetNamespace *string `json:"targetNamespace,omitempty"`
6404}
6405
6406// X12EnvelopeOverride the X12 envelope override settings.
6407type X12EnvelopeOverride struct {
6408	// TargetNamespace - The target namespace on which this envelope settings has to be applied.
6409	TargetNamespace *string `json:"targetNamespace,omitempty"`
6410	// ProtocolVersion - The protocol version on which this envelope settings has to be applied.
6411	ProtocolVersion *string `json:"protocolVersion,omitempty"`
6412	// MessageID - The message id on which this envelope settings has to be applied.
6413	MessageID *string `json:"messageId,omitempty"`
6414	// ResponsibleAgencyCode - The responsible agency code.
6415	ResponsibleAgencyCode *string `json:"responsibleAgencyCode,omitempty"`
6416	// HeaderVersion - The header version.
6417	HeaderVersion *string `json:"headerVersion,omitempty"`
6418	// SenderApplicationID - The sender application id.
6419	SenderApplicationID *string `json:"senderApplicationId,omitempty"`
6420	// ReceiverApplicationID - The receiver application id.
6421	ReceiverApplicationID *string `json:"receiverApplicationId,omitempty"`
6422	// FunctionalIdentifierCode - The functional identifier code.
6423	FunctionalIdentifierCode *string `json:"functionalIdentifierCode,omitempty"`
6424	// DateFormat - The date format. Possible values include: 'X12DateFormatNotSpecified', 'X12DateFormatCCYYMMDD', 'X12DateFormatYYMMDD'
6425	DateFormat X12DateFormat `json:"dateFormat,omitempty"`
6426	// TimeFormat - The time format. Possible values include: 'X12TimeFormatNotSpecified', 'X12TimeFormatHHMM', 'X12TimeFormatHHMMSS', 'X12TimeFormatHHMMSSdd', 'X12TimeFormatHHMMSSd'
6427	TimeFormat X12TimeFormat `json:"timeFormat,omitempty"`
6428}
6429
6430// X12EnvelopeSettings the X12 agreement envelope settings.
6431type X12EnvelopeSettings struct {
6432	// ControlStandardsID - The controls standards id.
6433	ControlStandardsID *int32 `json:"controlStandardsId,omitempty"`
6434	// UseControlStandardsIDAsRepetitionCharacter - The value indicating whether to use control standards id as repetition character.
6435	UseControlStandardsIDAsRepetitionCharacter *bool `json:"useControlStandardsIdAsRepetitionCharacter,omitempty"`
6436	// SenderApplicationID - The sender application id.
6437	SenderApplicationID *string `json:"senderApplicationId,omitempty"`
6438	// ReceiverApplicationID - The receiver application id.
6439	ReceiverApplicationID *string `json:"receiverApplicationId,omitempty"`
6440	// ControlVersionNumber - The control version number.
6441	ControlVersionNumber *string `json:"controlVersionNumber,omitempty"`
6442	// InterchangeControlNumberLowerBound - The interchange  control number lower bound.
6443	InterchangeControlNumberLowerBound *int32 `json:"interchangeControlNumberLowerBound,omitempty"`
6444	// InterchangeControlNumberUpperBound - The interchange  control number upper bound.
6445	InterchangeControlNumberUpperBound *int32 `json:"interchangeControlNumberUpperBound,omitempty"`
6446	// RolloverInterchangeControlNumber - The value indicating whether to rollover interchange control number.
6447	RolloverInterchangeControlNumber *bool `json:"rolloverInterchangeControlNumber,omitempty"`
6448	// EnableDefaultGroupHeaders - The value indicating whether to enable default group headers.
6449	EnableDefaultGroupHeaders *bool `json:"enableDefaultGroupHeaders,omitempty"`
6450	// FunctionalGroupID - The functional group id.
6451	FunctionalGroupID *string `json:"functionalGroupId,omitempty"`
6452	// GroupControlNumberLowerBound - The group control number lower bound.
6453	GroupControlNumberLowerBound *int32 `json:"groupControlNumberLowerBound,omitempty"`
6454	// GroupControlNumberUpperBound - The group control number upper bound.
6455	GroupControlNumberUpperBound *int32 `json:"groupControlNumberUpperBound,omitempty"`
6456	// RolloverGroupControlNumber - The value indicating whether to rollover group control number.
6457	RolloverGroupControlNumber *bool `json:"rolloverGroupControlNumber,omitempty"`
6458	// GroupHeaderAgencyCode - The group header agency code.
6459	GroupHeaderAgencyCode *string `json:"groupHeaderAgencyCode,omitempty"`
6460	// GroupHeaderVersion - The group header version.
6461	GroupHeaderVersion *string `json:"groupHeaderVersion,omitempty"`
6462	// TransactionSetControlNumberLowerBound - The transaction set control number lower bound.
6463	TransactionSetControlNumberLowerBound *int32 `json:"transactionSetControlNumberLowerBound,omitempty"`
6464	// TransactionSetControlNumberUpperBound - The transaction set control number upper bound.
6465	TransactionSetControlNumberUpperBound *int32 `json:"transactionSetControlNumberUpperBound,omitempty"`
6466	// RolloverTransactionSetControlNumber - The value indicating whether to rollover transaction set control number.
6467	RolloverTransactionSetControlNumber *bool `json:"rolloverTransactionSetControlNumber,omitempty"`
6468	// TransactionSetControlNumberPrefix - The transaction set control number prefix.
6469	TransactionSetControlNumberPrefix *string `json:"transactionSetControlNumberPrefix,omitempty"`
6470	// TransactionSetControlNumberSuffix - The transaction set control number suffix.
6471	TransactionSetControlNumberSuffix *string `json:"transactionSetControlNumberSuffix,omitempty"`
6472	// OverwriteExistingTransactionSetControlNumber - The value indicating whether to overwrite existing transaction set control number.
6473	OverwriteExistingTransactionSetControlNumber *bool `json:"overwriteExistingTransactionSetControlNumber,omitempty"`
6474	// GroupHeaderDateFormat - The group header date format. Possible values include: 'X12DateFormatNotSpecified', 'X12DateFormatCCYYMMDD', 'X12DateFormatYYMMDD'
6475	GroupHeaderDateFormat X12DateFormat `json:"groupHeaderDateFormat,omitempty"`
6476	// GroupHeaderTimeFormat - The group header time format. Possible values include: 'X12TimeFormatNotSpecified', 'X12TimeFormatHHMM', 'X12TimeFormatHHMMSS', 'X12TimeFormatHHMMSSdd', 'X12TimeFormatHHMMSSd'
6477	GroupHeaderTimeFormat X12TimeFormat `json:"groupHeaderTimeFormat,omitempty"`
6478	// UsageIndicator - The usage indicator. Possible values include: 'UsageIndicatorNotSpecified', 'UsageIndicatorTest', 'UsageIndicatorInformation', 'UsageIndicatorProduction'
6479	UsageIndicator UsageIndicator `json:"usageIndicator,omitempty"`
6480}
6481
6482// X12FramingSettings the X12 agreement framing settings.
6483type X12FramingSettings struct {
6484	// DataElementSeparator - The data element separator.
6485	DataElementSeparator *int32 `json:"dataElementSeparator,omitempty"`
6486	// ComponentSeparator - The component separator.
6487	ComponentSeparator *int32 `json:"componentSeparator,omitempty"`
6488	// ReplaceSeparatorsInPayload - The value indicating whether to replace separators in payload.
6489	ReplaceSeparatorsInPayload *bool `json:"replaceSeparatorsInPayload,omitempty"`
6490	// ReplaceCharacter - The replacement character.
6491	ReplaceCharacter *int32 `json:"replaceCharacter,omitempty"`
6492	// SegmentTerminator - The segment terminator.
6493	SegmentTerminator *int32 `json:"segmentTerminator,omitempty"`
6494	// CharacterSet - The X12 character set. Possible values include: 'X12CharacterSetNotSpecified', 'X12CharacterSetBasic', 'X12CharacterSetExtended', 'X12CharacterSetUTF8'
6495	CharacterSet X12CharacterSet `json:"characterSet,omitempty"`
6496	// SegmentTerminatorSuffix - The segment terminator suffix. Possible values include: 'SegmentTerminatorSuffixNotSpecified', 'SegmentTerminatorSuffixNone', 'SegmentTerminatorSuffixCR', 'SegmentTerminatorSuffixLF', 'SegmentTerminatorSuffixCRLF'
6497	SegmentTerminatorSuffix SegmentTerminatorSuffix `json:"segmentTerminatorSuffix,omitempty"`
6498}
6499
6500// X12MessageFilter the X12 message filter for odata query.
6501type X12MessageFilter struct {
6502	// MessageFilterType - The message filter type. Possible values include: 'MessageFilterTypeNotSpecified', 'MessageFilterTypeInclude', 'MessageFilterTypeExclude'
6503	MessageFilterType MessageFilterType `json:"messageFilterType,omitempty"`
6504}
6505
6506// X12MessageIdentifier the X12 message identifier.
6507type X12MessageIdentifier struct {
6508	// MessageID - The message id.
6509	MessageID *string `json:"messageId,omitempty"`
6510}
6511
6512// X12OneWayAgreement the X12 one-way agreement.
6513type X12OneWayAgreement struct {
6514	// SenderBusinessIdentity - The sender business identity
6515	SenderBusinessIdentity *BusinessIdentity `json:"senderBusinessIdentity,omitempty"`
6516	// ReceiverBusinessIdentity - The receiver business identity
6517	ReceiverBusinessIdentity *BusinessIdentity `json:"receiverBusinessIdentity,omitempty"`
6518	// ProtocolSettings - The X12 protocol settings.
6519	ProtocolSettings *X12ProtocolSettings `json:"protocolSettings,omitempty"`
6520}
6521
6522// X12ProcessingSettings the X12 processing settings.
6523type X12ProcessingSettings struct {
6524	// MaskSecurityInfo - The value indicating whether to mask security information.
6525	MaskSecurityInfo *bool `json:"maskSecurityInfo,omitempty"`
6526	// ConvertImpliedDecimal - The value indicating whether to convert numerical type to implied decimal.
6527	ConvertImpliedDecimal *bool `json:"convertImpliedDecimal,omitempty"`
6528	// PreserveInterchange - The value indicating whether to preserve interchange.
6529	PreserveInterchange *bool `json:"preserveInterchange,omitempty"`
6530	// SuspendInterchangeOnError - The value indicating whether to suspend interchange on error.
6531	SuspendInterchangeOnError *bool `json:"suspendInterchangeOnError,omitempty"`
6532	// CreateEmptyXMLTagsForTrailingSeparators - The value indicating whether to create empty xml tags for trailing separators.
6533	CreateEmptyXMLTagsForTrailingSeparators *bool `json:"createEmptyXmlTagsForTrailingSeparators,omitempty"`
6534	// UseDotAsDecimalSeparator - The value indicating whether to use dot as decimal separator.
6535	UseDotAsDecimalSeparator *bool `json:"useDotAsDecimalSeparator,omitempty"`
6536}
6537
6538// X12ProtocolSettings the X12 agreement protocol settings.
6539type X12ProtocolSettings struct {
6540	// ValidationSettings - The X12 validation settings.
6541	ValidationSettings *X12ValidationSettings `json:"validationSettings,omitempty"`
6542	// FramingSettings - The X12 framing settings.
6543	FramingSettings *X12FramingSettings `json:"framingSettings,omitempty"`
6544	// EnvelopeSettings - The X12 envelope settings.
6545	EnvelopeSettings *X12EnvelopeSettings `json:"envelopeSettings,omitempty"`
6546	// AcknowledgementSettings - The X12 acknowledgment settings.
6547	AcknowledgementSettings *X12AcknowledgementSettings `json:"acknowledgementSettings,omitempty"`
6548	// MessageFilter - The X12 message filter.
6549	MessageFilter *X12MessageFilter `json:"messageFilter,omitempty"`
6550	// SecuritySettings - The X12 security settings.
6551	SecuritySettings *X12SecuritySettings `json:"securitySettings,omitempty"`
6552	// ProcessingSettings - The X12 processing settings.
6553	ProcessingSettings *X12ProcessingSettings `json:"processingSettings,omitempty"`
6554	// EnvelopeOverrides - The X12 envelope override settings.
6555	EnvelopeOverrides *[]X12EnvelopeOverride `json:"envelopeOverrides,omitempty"`
6556	// ValidationOverrides - The X12 validation override settings.
6557	ValidationOverrides *[]X12ValidationOverride `json:"validationOverrides,omitempty"`
6558	// MessageFilterList - The X12 message filter list.
6559	MessageFilterList *[]X12MessageIdentifier `json:"messageFilterList,omitempty"`
6560	// SchemaReferences - The X12 schema references.
6561	SchemaReferences *[]X12SchemaReference `json:"schemaReferences,omitempty"`
6562	// X12DelimiterOverrides - The X12 delimiter override settings.
6563	X12DelimiterOverrides *[]X12DelimiterOverrides `json:"x12DelimiterOverrides,omitempty"`
6564}
6565
6566// X12SchemaReference the X12 schema reference.
6567type X12SchemaReference struct {
6568	// MessageID - The message id.
6569	MessageID *string `json:"messageId,omitempty"`
6570	// SenderApplicationID - The sender application id.
6571	SenderApplicationID *string `json:"senderApplicationId,omitempty"`
6572	// SchemaVersion - The schema version.
6573	SchemaVersion *string `json:"schemaVersion,omitempty"`
6574	// SchemaName - The schema name.
6575	SchemaName *string `json:"schemaName,omitempty"`
6576}
6577
6578// X12SecuritySettings the X12 agreement security settings.
6579type X12SecuritySettings struct {
6580	// AuthorizationQualifier - The authorization qualifier.
6581	AuthorizationQualifier *string `json:"authorizationQualifier,omitempty"`
6582	// AuthorizationValue - The authorization value.
6583	AuthorizationValue *string `json:"authorizationValue,omitempty"`
6584	// SecurityQualifier - The security qualifier.
6585	SecurityQualifier *string `json:"securityQualifier,omitempty"`
6586	// PasswordValue - The password value.
6587	PasswordValue *string `json:"passwordValue,omitempty"`
6588}
6589
6590// X12ValidationOverride the X12 validation override settings.
6591type X12ValidationOverride struct {
6592	// MessageID - The message id on which the validation settings has to be applied.
6593	MessageID *string `json:"messageId,omitempty"`
6594	// ValidateEdiTypes - The value indicating whether to validate EDI types.
6595	ValidateEdiTypes *bool `json:"validateEdiTypes,omitempty"`
6596	// ValidateXsdTypes - The value indicating whether to validate XSD types.
6597	ValidateXsdTypes *bool `json:"validateXsdTypes,omitempty"`
6598	// AllowLeadingAndTrailingSpacesAndZeroes - The value indicating whether to allow leading and trailing spaces and zeroes.
6599	AllowLeadingAndTrailingSpacesAndZeroes *bool `json:"allowLeadingAndTrailingSpacesAndZeroes,omitempty"`
6600	// ValidateCharacterSet - The value indicating whether to validate character Set.
6601	ValidateCharacterSet *bool `json:"validateCharacterSet,omitempty"`
6602	// TrimLeadingAndTrailingSpacesAndZeroes - The value indicating whether to trim leading and trailing spaces and zeroes.
6603	TrimLeadingAndTrailingSpacesAndZeroes *bool `json:"trimLeadingAndTrailingSpacesAndZeroes,omitempty"`
6604	// TrailingSeparatorPolicy - The trailing separator policy. Possible values include: 'TrailingSeparatorPolicyNotSpecified', 'TrailingSeparatorPolicyNotAllowed', 'TrailingSeparatorPolicyOptional', 'TrailingSeparatorPolicyMandatory'
6605	TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"`
6606}
6607
6608// X12ValidationSettings the X12 agreement validation settings.
6609type X12ValidationSettings struct {
6610	// ValidateCharacterSet - The value indicating whether to validate character set in the message.
6611	ValidateCharacterSet *bool `json:"validateCharacterSet,omitempty"`
6612	// CheckDuplicateInterchangeControlNumber - The value indicating whether to check for duplicate interchange control number.
6613	CheckDuplicateInterchangeControlNumber *bool `json:"checkDuplicateInterchangeControlNumber,omitempty"`
6614	// InterchangeControlNumberValidityDays - The validity period of interchange control number.
6615	InterchangeControlNumberValidityDays *int32 `json:"interchangeControlNumberValidityDays,omitempty"`
6616	// CheckDuplicateGroupControlNumber - The value indicating whether to check for duplicate group control number.
6617	CheckDuplicateGroupControlNumber *bool `json:"checkDuplicateGroupControlNumber,omitempty"`
6618	// CheckDuplicateTransactionSetControlNumber - The value indicating whether to check for duplicate transaction set control number.
6619	CheckDuplicateTransactionSetControlNumber *bool `json:"checkDuplicateTransactionSetControlNumber,omitempty"`
6620	// ValidateEdiTypes - The value indicating whether to Whether to validate EDI types.
6621	ValidateEdiTypes *bool `json:"validateEdiTypes,omitempty"`
6622	// ValidateXsdTypes - The value indicating whether to Whether to validate XSD types.
6623	ValidateXsdTypes *bool `json:"validateXsdTypes,omitempty"`
6624	// AllowLeadingAndTrailingSpacesAndZeroes - The value indicating whether to allow leading and trailing spaces and zeroes.
6625	AllowLeadingAndTrailingSpacesAndZeroes *bool `json:"allowLeadingAndTrailingSpacesAndZeroes,omitempty"`
6626	// TrimLeadingAndTrailingSpacesAndZeroes - The value indicating whether to trim leading and trailing spaces and zeroes.
6627	TrimLeadingAndTrailingSpacesAndZeroes *bool `json:"trimLeadingAndTrailingSpacesAndZeroes,omitempty"`
6628	// TrailingSeparatorPolicy - The trailing separator policy. Possible values include: 'TrailingSeparatorPolicyNotSpecified', 'TrailingSeparatorPolicyNotAllowed', 'TrailingSeparatorPolicyOptional', 'TrailingSeparatorPolicyMandatory'
6629	TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"`
6630}
6631