1package datafactory
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	"github.com/Azure/go-autorest/autorest"
23	"github.com/Azure/go-autorest/autorest/azure"
24	"github.com/Azure/go-autorest/autorest/date"
25	"github.com/Azure/go-autorest/autorest/validation"
26	"net/http"
27)
28
29// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
30// TriggersClient is the the Azure Data Factory V2 management API provides a RESTful set of web services that interact
31// with Azure Data Factory V2 services.
32type TriggersClient struct {
33	BaseClient
34}
35
36// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
37// NewTriggersClient creates an instance of the TriggersClient client.
38func NewTriggersClient(subscriptionID string) TriggersClient {
39	return NewTriggersClientWithBaseURI(DefaultBaseURI, subscriptionID)
40}
41
42// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
43// NewTriggersClientWithBaseURI creates an instance of the TriggersClient client.
44func NewTriggersClientWithBaseURI(baseURI string, subscriptionID string) TriggersClient {
45	return TriggersClient{NewWithBaseURI(baseURI, subscriptionID)}
46}
47
48// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
49// CreateOrUpdate creates or updates a trigger.
50//
51// resourceGroupName is the resource group name. factoryName is the factory name. triggerName is the trigger name.
52// trigger is trigger resource definition. ifMatch is eTag of the trigger entity.  Should only be specified for
53// update, for which it should match existing entity or can be * for unconditional update.
54func (client TriggersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, factoryName string, triggerName string, trigger TriggerResource, ifMatch string) (result TriggerResource, err error) {
55	if err := validation.Validate([]validation.Validation{
56		{TargetValue: resourceGroupName,
57			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
58				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
59				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
60		{TargetValue: factoryName,
61			Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil},
62				{Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil},
63				{Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}},
64		{TargetValue: triggerName,
65			Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil},
66				{Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil},
67				{Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}},
68		{TargetValue: trigger,
69			Constraints: []validation.Constraint{{Target: "trigger.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
70		return result, validation.NewError("datafactory.TriggersClient", "CreateOrUpdate", err.Error())
71	}
72
73	req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, factoryName, triggerName, trigger, ifMatch)
74	if err != nil {
75		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "CreateOrUpdate", nil, "Failure preparing request")
76		return
77	}
78
79	resp, err := client.CreateOrUpdateSender(req)
80	if err != nil {
81		result.Response = autorest.Response{Response: resp}
82		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "CreateOrUpdate", resp, "Failure sending request")
83		return
84	}
85
86	result, err = client.CreateOrUpdateResponder(resp)
87	if err != nil {
88		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "CreateOrUpdate", resp, "Failure responding to request")
89	}
90
91	return
92}
93
94// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
95// CreateOrUpdatePreparer prepares the CreateOrUpdate request.
96func (client TriggersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string, trigger TriggerResource, ifMatch string) (*http.Request, error) {
97	pathParameters := map[string]interface{}{
98		"factoryName":       autorest.Encode("path", factoryName),
99		"resourceGroupName": autorest.Encode("path", resourceGroupName),
100		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
101		"triggerName":       autorest.Encode("path", triggerName),
102	}
103
104	const APIVersion = "2017-09-01-preview"
105	queryParameters := map[string]interface{}{
106		"api-version": APIVersion,
107	}
108
109	preparer := autorest.CreatePreparer(
110		autorest.AsContentType("application/json; charset=utf-8"),
111		autorest.AsPut(),
112		autorest.WithBaseURL(client.BaseURI),
113		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}", pathParameters),
114		autorest.WithJSON(trigger),
115		autorest.WithQueryParameters(queryParameters))
116	if len(ifMatch) > 0 {
117		preparer = autorest.DecoratePreparer(preparer,
118			autorest.WithHeader("If-Match", autorest.String(ifMatch)))
119	}
120	return preparer.Prepare((&http.Request{}).WithContext(ctx))
121}
122
123// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
124// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
125// http.Response Body if it receives an error.
126func (client TriggersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) {
127	return autorest.SendWithSender(client, req,
128		azure.DoRetryWithRegistration(client.Client))
129}
130
131// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
132// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
133// closes the http.Response Body.
134func (client TriggersClient) CreateOrUpdateResponder(resp *http.Response) (result TriggerResource, err error) {
135	err = autorest.Respond(
136		resp,
137		client.ByInspecting(),
138		azure.WithErrorUnlessStatusCode(http.StatusOK),
139		autorest.ByUnmarshallingJSON(&result),
140		autorest.ByClosing())
141	result.Response = autorest.Response{Response: resp}
142	return
143}
144
145// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
146// Delete deletes a trigger.
147//
148// resourceGroupName is the resource group name. factoryName is the factory name. triggerName is the trigger name.
149func (client TriggersClient) Delete(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result autorest.Response, err error) {
150	if err := validation.Validate([]validation.Validation{
151		{TargetValue: resourceGroupName,
152			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
153				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
154				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
155		{TargetValue: factoryName,
156			Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil},
157				{Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil},
158				{Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}},
159		{TargetValue: triggerName,
160			Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil},
161				{Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil},
162				{Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil {
163		return result, validation.NewError("datafactory.TriggersClient", "Delete", err.Error())
164	}
165
166	req, err := client.DeletePreparer(ctx, resourceGroupName, factoryName, triggerName)
167	if err != nil {
168		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Delete", nil, "Failure preparing request")
169		return
170	}
171
172	resp, err := client.DeleteSender(req)
173	if err != nil {
174		result.Response = resp
175		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Delete", resp, "Failure sending request")
176		return
177	}
178
179	result, err = client.DeleteResponder(resp)
180	if err != nil {
181		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Delete", resp, "Failure responding to request")
182	}
183
184	return
185}
186
187// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
188// DeletePreparer prepares the Delete request.
189func (client TriggersClient) DeletePreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (*http.Request, error) {
190	pathParameters := map[string]interface{}{
191		"factoryName":       autorest.Encode("path", factoryName),
192		"resourceGroupName": autorest.Encode("path", resourceGroupName),
193		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
194		"triggerName":       autorest.Encode("path", triggerName),
195	}
196
197	const APIVersion = "2017-09-01-preview"
198	queryParameters := map[string]interface{}{
199		"api-version": APIVersion,
200	}
201
202	preparer := autorest.CreatePreparer(
203		autorest.AsDelete(),
204		autorest.WithBaseURL(client.BaseURI),
205		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}", pathParameters),
206		autorest.WithQueryParameters(queryParameters))
207	return preparer.Prepare((&http.Request{}).WithContext(ctx))
208}
209
210// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
211// DeleteSender sends the Delete request. The method will close the
212// http.Response Body if it receives an error.
213func (client TriggersClient) DeleteSender(req *http.Request) (*http.Response, error) {
214	return autorest.SendWithSender(client, req,
215		azure.DoRetryWithRegistration(client.Client))
216}
217
218// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
219// DeleteResponder handles the response to the Delete request. The method always
220// closes the http.Response Body.
221func (client TriggersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
222	err = autorest.Respond(
223		resp,
224		client.ByInspecting(),
225		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
226		autorest.ByClosing())
227	result.Response = resp
228	return
229}
230
231// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
232// Get gets a trigger.
233//
234// resourceGroupName is the resource group name. factoryName is the factory name. triggerName is the trigger name.
235func (client TriggersClient) Get(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result TriggerResource, err error) {
236	if err := validation.Validate([]validation.Validation{
237		{TargetValue: resourceGroupName,
238			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
239				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
240				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
241		{TargetValue: factoryName,
242			Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil},
243				{Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil},
244				{Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}},
245		{TargetValue: triggerName,
246			Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil},
247				{Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil},
248				{Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil {
249		return result, validation.NewError("datafactory.TriggersClient", "Get", err.Error())
250	}
251
252	req, err := client.GetPreparer(ctx, resourceGroupName, factoryName, triggerName)
253	if err != nil {
254		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Get", nil, "Failure preparing request")
255		return
256	}
257
258	resp, err := client.GetSender(req)
259	if err != nil {
260		result.Response = autorest.Response{Response: resp}
261		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Get", resp, "Failure sending request")
262		return
263	}
264
265	result, err = client.GetResponder(resp)
266	if err != nil {
267		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Get", resp, "Failure responding to request")
268	}
269
270	return
271}
272
273// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
274// GetPreparer prepares the Get request.
275func (client TriggersClient) GetPreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (*http.Request, error) {
276	pathParameters := map[string]interface{}{
277		"factoryName":       autorest.Encode("path", factoryName),
278		"resourceGroupName": autorest.Encode("path", resourceGroupName),
279		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
280		"triggerName":       autorest.Encode("path", triggerName),
281	}
282
283	const APIVersion = "2017-09-01-preview"
284	queryParameters := map[string]interface{}{
285		"api-version": APIVersion,
286	}
287
288	preparer := autorest.CreatePreparer(
289		autorest.AsGet(),
290		autorest.WithBaseURL(client.BaseURI),
291		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}", pathParameters),
292		autorest.WithQueryParameters(queryParameters))
293	return preparer.Prepare((&http.Request{}).WithContext(ctx))
294}
295
296// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
297// GetSender sends the Get request. The method will close the
298// http.Response Body if it receives an error.
299func (client TriggersClient) GetSender(req *http.Request) (*http.Response, error) {
300	return autorest.SendWithSender(client, req,
301		azure.DoRetryWithRegistration(client.Client))
302}
303
304// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
305// GetResponder handles the response to the Get request. The method always
306// closes the http.Response Body.
307func (client TriggersClient) GetResponder(resp *http.Response) (result TriggerResource, err error) {
308	err = autorest.Respond(
309		resp,
310		client.ByInspecting(),
311		azure.WithErrorUnlessStatusCode(http.StatusOK),
312		autorest.ByUnmarshallingJSON(&result),
313		autorest.ByClosing())
314	result.Response = autorest.Response{Response: resp}
315	return
316}
317
318// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
319// ListByFactory lists triggers.
320//
321// resourceGroupName is the resource group name. factoryName is the factory name.
322func (client TriggersClient) ListByFactory(ctx context.Context, resourceGroupName string, factoryName string) (result TriggerListResponsePage, err error) {
323	if err := validation.Validate([]validation.Validation{
324		{TargetValue: resourceGroupName,
325			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
326				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
327				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
328		{TargetValue: factoryName,
329			Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil},
330				{Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil},
331				{Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}}); err != nil {
332		return result, validation.NewError("datafactory.TriggersClient", "ListByFactory", err.Error())
333	}
334
335	result.fn = client.listByFactoryNextResults
336	req, err := client.ListByFactoryPreparer(ctx, resourceGroupName, factoryName)
337	if err != nil {
338		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "ListByFactory", nil, "Failure preparing request")
339		return
340	}
341
342	resp, err := client.ListByFactorySender(req)
343	if err != nil {
344		result.tlr.Response = autorest.Response{Response: resp}
345		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "ListByFactory", resp, "Failure sending request")
346		return
347	}
348
349	result.tlr, err = client.ListByFactoryResponder(resp)
350	if err != nil {
351		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "ListByFactory", resp, "Failure responding to request")
352	}
353
354	return
355}
356
357// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
358// ListByFactoryPreparer prepares the ListByFactory request.
359func (client TriggersClient) ListByFactoryPreparer(ctx context.Context, resourceGroupName string, factoryName string) (*http.Request, error) {
360	pathParameters := map[string]interface{}{
361		"factoryName":       autorest.Encode("path", factoryName),
362		"resourceGroupName": autorest.Encode("path", resourceGroupName),
363		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
364	}
365
366	const APIVersion = "2017-09-01-preview"
367	queryParameters := map[string]interface{}{
368		"api-version": APIVersion,
369	}
370
371	preparer := autorest.CreatePreparer(
372		autorest.AsGet(),
373		autorest.WithBaseURL(client.BaseURI),
374		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers", pathParameters),
375		autorest.WithQueryParameters(queryParameters))
376	return preparer.Prepare((&http.Request{}).WithContext(ctx))
377}
378
379// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
380// ListByFactorySender sends the ListByFactory request. The method will close the
381// http.Response Body if it receives an error.
382func (client TriggersClient) ListByFactorySender(req *http.Request) (*http.Response, error) {
383	return autorest.SendWithSender(client, req,
384		azure.DoRetryWithRegistration(client.Client))
385}
386
387// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
388// ListByFactoryResponder handles the response to the ListByFactory request. The method always
389// closes the http.Response Body.
390func (client TriggersClient) ListByFactoryResponder(resp *http.Response) (result TriggerListResponse, err error) {
391	err = autorest.Respond(
392		resp,
393		client.ByInspecting(),
394		azure.WithErrorUnlessStatusCode(http.StatusOK),
395		autorest.ByUnmarshallingJSON(&result),
396		autorest.ByClosing())
397	result.Response = autorest.Response{Response: resp}
398	return
399}
400
401// listByFactoryNextResults retrieves the next set of results, if any.
402func (client TriggersClient) listByFactoryNextResults(lastResults TriggerListResponse) (result TriggerListResponse, err error) {
403	req, err := lastResults.triggerListResponsePreparer()
404	if err != nil {
405		return result, autorest.NewErrorWithError(err, "datafactory.TriggersClient", "listByFactoryNextResults", nil, "Failure preparing next results request")
406	}
407	if req == nil {
408		return
409	}
410	resp, err := client.ListByFactorySender(req)
411	if err != nil {
412		result.Response = autorest.Response{Response: resp}
413		return result, autorest.NewErrorWithError(err, "datafactory.TriggersClient", "listByFactoryNextResults", resp, "Failure sending next results request")
414	}
415	result, err = client.ListByFactoryResponder(resp)
416	if err != nil {
417		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "listByFactoryNextResults", resp, "Failure responding to next results request")
418	}
419	return
420}
421
422// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
423// ListByFactoryComplete enumerates all values, automatically crossing page boundaries as required.
424func (client TriggersClient) ListByFactoryComplete(ctx context.Context, resourceGroupName string, factoryName string) (result TriggerListResponseIterator, err error) {
425	result.page, err = client.ListByFactory(ctx, resourceGroupName, factoryName)
426	return
427}
428
429// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
430// ListRuns list trigger runs.
431//
432// resourceGroupName is the resource group name. factoryName is the factory name. triggerName is the trigger name.
433// startTime is start time for trigger runs. endTime is end time for trigger runs.
434func (client TriggersClient) ListRuns(ctx context.Context, resourceGroupName string, factoryName string, triggerName string, startTime date.Time, endTime date.Time) (result TriggerRunListResponsePage, err error) {
435	if err := validation.Validate([]validation.Validation{
436		{TargetValue: resourceGroupName,
437			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
438				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
439				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
440		{TargetValue: factoryName,
441			Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil},
442				{Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil},
443				{Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}},
444		{TargetValue: triggerName,
445			Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil},
446				{Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil},
447				{Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil {
448		return result, validation.NewError("datafactory.TriggersClient", "ListRuns", err.Error())
449	}
450
451	result.fn = client.listRunsNextResults
452	req, err := client.ListRunsPreparer(ctx, resourceGroupName, factoryName, triggerName, startTime, endTime)
453	if err != nil {
454		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "ListRuns", nil, "Failure preparing request")
455		return
456	}
457
458	resp, err := client.ListRunsSender(req)
459	if err != nil {
460		result.trlr.Response = autorest.Response{Response: resp}
461		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "ListRuns", resp, "Failure sending request")
462		return
463	}
464
465	result.trlr, err = client.ListRunsResponder(resp)
466	if err != nil {
467		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "ListRuns", resp, "Failure responding to request")
468	}
469
470	return
471}
472
473// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
474// ListRunsPreparer prepares the ListRuns request.
475func (client TriggersClient) ListRunsPreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string, startTime date.Time, endTime date.Time) (*http.Request, error) {
476	pathParameters := map[string]interface{}{
477		"factoryName":       autorest.Encode("path", factoryName),
478		"resourceGroupName": autorest.Encode("path", resourceGroupName),
479		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
480		"triggerName":       autorest.Encode("path", triggerName),
481	}
482
483	const APIVersion = "2017-09-01-preview"
484	queryParameters := map[string]interface{}{
485		"api-version": APIVersion,
486		"endTime":     autorest.Encode("query", endTime),
487		"startTime":   autorest.Encode("query", startTime),
488	}
489
490	preparer := autorest.CreatePreparer(
491		autorest.AsGet(),
492		autorest.WithBaseURL(client.BaseURI),
493		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerruns", pathParameters),
494		autorest.WithQueryParameters(queryParameters))
495	return preparer.Prepare((&http.Request{}).WithContext(ctx))
496}
497
498// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
499// ListRunsSender sends the ListRuns request. The method will close the
500// http.Response Body if it receives an error.
501func (client TriggersClient) ListRunsSender(req *http.Request) (*http.Response, error) {
502	return autorest.SendWithSender(client, req,
503		azure.DoRetryWithRegistration(client.Client))
504}
505
506// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
507// ListRunsResponder handles the response to the ListRuns request. The method always
508// closes the http.Response Body.
509func (client TriggersClient) ListRunsResponder(resp *http.Response) (result TriggerRunListResponse, err error) {
510	err = autorest.Respond(
511		resp,
512		client.ByInspecting(),
513		azure.WithErrorUnlessStatusCode(http.StatusOK),
514		autorest.ByUnmarshallingJSON(&result),
515		autorest.ByClosing())
516	result.Response = autorest.Response{Response: resp}
517	return
518}
519
520// listRunsNextResults retrieves the next set of results, if any.
521func (client TriggersClient) listRunsNextResults(lastResults TriggerRunListResponse) (result TriggerRunListResponse, err error) {
522	req, err := lastResults.triggerRunListResponsePreparer()
523	if err != nil {
524		return result, autorest.NewErrorWithError(err, "datafactory.TriggersClient", "listRunsNextResults", nil, "Failure preparing next results request")
525	}
526	if req == nil {
527		return
528	}
529	resp, err := client.ListRunsSender(req)
530	if err != nil {
531		result.Response = autorest.Response{Response: resp}
532		return result, autorest.NewErrorWithError(err, "datafactory.TriggersClient", "listRunsNextResults", resp, "Failure sending next results request")
533	}
534	result, err = client.ListRunsResponder(resp)
535	if err != nil {
536		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "listRunsNextResults", resp, "Failure responding to next results request")
537	}
538	return
539}
540
541// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
542// ListRunsComplete enumerates all values, automatically crossing page boundaries as required.
543func (client TriggersClient) ListRunsComplete(ctx context.Context, resourceGroupName string, factoryName string, triggerName string, startTime date.Time, endTime date.Time) (result TriggerRunListResponseIterator, err error) {
544	result.page, err = client.ListRuns(ctx, resourceGroupName, factoryName, triggerName, startTime, endTime)
545	return
546}
547
548// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
549// Start starts a trigger.
550//
551// resourceGroupName is the resource group name. factoryName is the factory name. triggerName is the trigger name.
552func (client TriggersClient) Start(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result TriggersStartFuture, err error) {
553	if err := validation.Validate([]validation.Validation{
554		{TargetValue: resourceGroupName,
555			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
556				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
557				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
558		{TargetValue: factoryName,
559			Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil},
560				{Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil},
561				{Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}},
562		{TargetValue: triggerName,
563			Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil},
564				{Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil},
565				{Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil {
566		return result, validation.NewError("datafactory.TriggersClient", "Start", err.Error())
567	}
568
569	req, err := client.StartPreparer(ctx, resourceGroupName, factoryName, triggerName)
570	if err != nil {
571		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Start", nil, "Failure preparing request")
572		return
573	}
574
575	result, err = client.StartSender(req)
576	if err != nil {
577		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Start", result.Response(), "Failure sending request")
578		return
579	}
580
581	return
582}
583
584// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
585// StartPreparer prepares the Start request.
586func (client TriggersClient) StartPreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (*http.Request, error) {
587	pathParameters := map[string]interface{}{
588		"factoryName":       autorest.Encode("path", factoryName),
589		"resourceGroupName": autorest.Encode("path", resourceGroupName),
590		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
591		"triggerName":       autorest.Encode("path", triggerName),
592	}
593
594	const APIVersion = "2017-09-01-preview"
595	queryParameters := map[string]interface{}{
596		"api-version": APIVersion,
597	}
598
599	preparer := autorest.CreatePreparer(
600		autorest.AsPost(),
601		autorest.WithBaseURL(client.BaseURI),
602		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start", pathParameters),
603		autorest.WithQueryParameters(queryParameters))
604	return preparer.Prepare((&http.Request{}).WithContext(ctx))
605}
606
607// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
608// StartSender sends the Start request. The method will close the
609// http.Response Body if it receives an error.
610func (client TriggersClient) StartSender(req *http.Request) (future TriggersStartFuture, err error) {
611	sender := autorest.DecorateSender(client, azure.DoRetryWithRegistration(client.Client))
612	future.Future = azure.NewFuture(req)
613	future.req = req
614	_, err = future.Done(sender)
615	if err != nil {
616		return
617	}
618	err = autorest.Respond(future.Response(),
619		azure.WithErrorUnlessStatusCode(http.StatusOK))
620	return
621}
622
623// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
624// StartResponder handles the response to the Start request. The method always
625// closes the http.Response Body.
626func (client TriggersClient) StartResponder(resp *http.Response) (result autorest.Response, err error) {
627	err = autorest.Respond(
628		resp,
629		client.ByInspecting(),
630		azure.WithErrorUnlessStatusCode(http.StatusOK),
631		autorest.ByClosing())
632	result.Response = resp
633	return
634}
635
636// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
637// Stop stops a trigger.
638//
639// resourceGroupName is the resource group name. factoryName is the factory name. triggerName is the trigger name.
640func (client TriggersClient) Stop(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result TriggersStopFuture, err error) {
641	if err := validation.Validate([]validation.Validation{
642		{TargetValue: resourceGroupName,
643			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
644				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
645				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}},
646		{TargetValue: factoryName,
647			Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil},
648				{Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil},
649				{Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}},
650		{TargetValue: triggerName,
651			Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil},
652				{Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil},
653				{Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil {
654		return result, validation.NewError("datafactory.TriggersClient", "Stop", err.Error())
655	}
656
657	req, err := client.StopPreparer(ctx, resourceGroupName, factoryName, triggerName)
658	if err != nil {
659		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Stop", nil, "Failure preparing request")
660		return
661	}
662
663	result, err = client.StopSender(req)
664	if err != nil {
665		err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "Stop", result.Response(), "Failure sending request")
666		return
667	}
668
669	return
670}
671
672// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
673// StopPreparer prepares the Stop request.
674func (client TriggersClient) StopPreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (*http.Request, error) {
675	pathParameters := map[string]interface{}{
676		"factoryName":       autorest.Encode("path", factoryName),
677		"resourceGroupName": autorest.Encode("path", resourceGroupName),
678		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
679		"triggerName":       autorest.Encode("path", triggerName),
680	}
681
682	const APIVersion = "2017-09-01-preview"
683	queryParameters := map[string]interface{}{
684		"api-version": APIVersion,
685	}
686
687	preparer := autorest.CreatePreparer(
688		autorest.AsPost(),
689		autorest.WithBaseURL(client.BaseURI),
690		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop", pathParameters),
691		autorest.WithQueryParameters(queryParameters))
692	return preparer.Prepare((&http.Request{}).WithContext(ctx))
693}
694
695// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
696// StopSender sends the Stop request. The method will close the
697// http.Response Body if it receives an error.
698func (client TriggersClient) StopSender(req *http.Request) (future TriggersStopFuture, err error) {
699	sender := autorest.DecorateSender(client, azure.DoRetryWithRegistration(client.Client))
700	future.Future = azure.NewFuture(req)
701	future.req = req
702	_, err = future.Done(sender)
703	if err != nil {
704		return
705	}
706	err = autorest.Respond(future.Response(),
707		azure.WithErrorUnlessStatusCode(http.StatusOK))
708	return
709}
710
711// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory instead.
712// StopResponder handles the response to the Stop request. The method always
713// closes the http.Response Body.
714func (client TriggersClient) StopResponder(resp *http.Response) (result autorest.Response, err error) {
715	err = autorest.Respond(
716		resp,
717		client.ByInspecting(),
718		azure.WithErrorUnlessStatusCode(http.StatusOK),
719		autorest.ByClosing())
720	result.Response = resp
721	return
722}
723