1package storsimpleapi
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/azure-sdk-for-go/services/storsimple1200series/mgmt/2016-10-01/storsimple"
23	"github.com/Azure/go-autorest/autorest"
24)
25
26// ManagersClientAPI contains the set of methods on the ManagersClient type.
27type ManagersClientAPI interface {
28	CreateExtendedInfo(ctx context.Context, managerExtendedInfo storsimple.ManagerExtendedInfo, resourceGroupName string, managerName string) (result storsimple.ManagerExtendedInfo, err error)
29	CreateOrUpdate(ctx context.Context, manager storsimple.Manager, resourceGroupName string, managerName string) (result storsimple.Manager, err error)
30	Delete(ctx context.Context, resourceGroupName string, managerName string) (result autorest.Response, err error)
31	DeleteExtendedInfo(ctx context.Context, resourceGroupName string, managerName string) (result autorest.Response, err error)
32	Get(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.Manager, err error)
33	GetEncryptionKey(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.SymmetricEncryptedSecret, err error)
34	GetEncryptionSettings(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.EncryptionSettings, err error)
35	GetExtendedInfo(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.ManagerExtendedInfo, err error)
36	List(ctx context.Context) (result storsimple.ManagerList, err error)
37	ListByResourceGroup(ctx context.Context, resourceGroupName string) (result storsimple.ManagerList, err error)
38	ListMetricDefinition(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.MetricDefinitionList, err error)
39	ListMetrics(ctx context.Context, resourceGroupName string, managerName string, filter string) (result storsimple.MetricList, err error)
40	Update(ctx context.Context, parameters storsimple.ManagerPatch, resourceGroupName string, managerName string) (result storsimple.Manager, err error)
41	UpdateExtendedInfo(ctx context.Context, managerExtendedInfo storsimple.ManagerExtendedInfo, resourceGroupName string, managerName string, ifMatch string) (result storsimple.ManagerExtendedInfo, err error)
42	UploadRegistrationCertificate(ctx context.Context, certificateName string, uploadCertificateRequestrequest storsimple.UploadCertificateRequest, resourceGroupName string, managerName string) (result storsimple.UploadCertificateResponse, err error)
43}
44
45var _ ManagersClientAPI = (*storsimple.ManagersClient)(nil)
46
47// AvailableProviderOperationsClientAPI contains the set of methods on the AvailableProviderOperationsClient type.
48type AvailableProviderOperationsClientAPI interface {
49	List(ctx context.Context) (result storsimple.AvailableProviderOperationsPage, err error)
50	ListComplete(ctx context.Context) (result storsimple.AvailableProviderOperationsIterator, err error)
51}
52
53var _ AvailableProviderOperationsClientAPI = (*storsimple.AvailableProviderOperationsClient)(nil)
54
55// AccessControlRecordsClientAPI contains the set of methods on the AccessControlRecordsClient type.
56type AccessControlRecordsClientAPI interface {
57	CreateOrUpdate(ctx context.Context, accessControlRecordName string, accessControlRecord storsimple.AccessControlRecord, resourceGroupName string, managerName string) (result storsimple.AccessControlRecordsCreateOrUpdateFuture, err error)
58	Delete(ctx context.Context, accessControlRecordName string, resourceGroupName string, managerName string) (result storsimple.AccessControlRecordsDeleteFuture, err error)
59	Get(ctx context.Context, accessControlRecordName string, resourceGroupName string, managerName string) (result storsimple.AccessControlRecord, err error)
60	ListByManager(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.AccessControlRecordList, err error)
61}
62
63var _ AccessControlRecordsClientAPI = (*storsimple.AccessControlRecordsClient)(nil)
64
65// AlertsClientAPI contains the set of methods on the AlertsClient type.
66type AlertsClientAPI interface {
67	Clear(ctx context.Context, request storsimple.ClearAlertRequest, resourceGroupName string, managerName string) (result autorest.Response, err error)
68	ListByManager(ctx context.Context, resourceGroupName string, managerName string, filter string) (result storsimple.AlertListPage, err error)
69	ListByManagerComplete(ctx context.Context, resourceGroupName string, managerName string, filter string) (result storsimple.AlertListIterator, err error)
70	SendTestEmail(ctx context.Context, deviceName string, request storsimple.SendTestAlertEmailRequest, resourceGroupName string, managerName string) (result autorest.Response, err error)
71}
72
73var _ AlertsClientAPI = (*storsimple.AlertsClient)(nil)
74
75// BackupsClientAPI contains the set of methods on the BackupsClient type.
76type BackupsClientAPI interface {
77	Clone(ctx context.Context, deviceName string, backupName string, elementName string, cloneRequest storsimple.CloneRequest, resourceGroupName string, managerName string) (result storsimple.BackupsCloneFuture, err error)
78	Delete(ctx context.Context, deviceName string, backupName string, resourceGroupName string, managerName string) (result storsimple.BackupsDeleteFuture, err error)
79	ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string, forFailover *bool, filter string) (result storsimple.BackupListPage, err error)
80	ListByDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string, managerName string, forFailover *bool, filter string) (result storsimple.BackupListIterator, err error)
81	ListByManager(ctx context.Context, resourceGroupName string, managerName string, filter string) (result storsimple.BackupListPage, err error)
82	ListByManagerComplete(ctx context.Context, resourceGroupName string, managerName string, filter string) (result storsimple.BackupListIterator, err error)
83}
84
85var _ BackupsClientAPI = (*storsimple.BackupsClient)(nil)
86
87// DevicesClientAPI contains the set of methods on the DevicesClient type.
88type DevicesClientAPI interface {
89	CreateOrUpdateAlertSettings(ctx context.Context, deviceName string, alertSettings storsimple.AlertSettings, resourceGroupName string, managerName string) (result storsimple.DevicesCreateOrUpdateAlertSettingsFuture, err error)
90	CreateOrUpdateSecuritySettings(ctx context.Context, deviceName string, securitySettings storsimple.SecuritySettings, resourceGroupName string, managerName string) (result storsimple.DevicesCreateOrUpdateSecuritySettingsFuture, err error)
91	Deactivate(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.DevicesDeactivateFuture, err error)
92	Delete(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.DevicesDeleteFuture, err error)
93	DownloadUpdates(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.DevicesDownloadUpdatesFuture, err error)
94	Failover(ctx context.Context, deviceName string, failoverRequest storsimple.FailoverRequest, resourceGroupName string, managerName string) (result storsimple.DevicesFailoverFuture, err error)
95	Get(ctx context.Context, deviceName string, resourceGroupName string, managerName string, expand string) (result storsimple.Device, err error)
96	GetAlertSettings(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.AlertSettings, err error)
97	GetNetworkSettings(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.NetworkSettings, err error)
98	GetTimeSettings(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.TimeSettings, err error)
99	GetUpdateSummary(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.Updates, err error)
100	InstallUpdates(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.DevicesInstallUpdatesFuture, err error)
101	ListByManager(ctx context.Context, resourceGroupName string, managerName string, expand string) (result storsimple.DeviceList, err error)
102	ListFailoverTarget(ctx context.Context, deviceName string, resourceGroupName string, managerName string, expand string) (result storsimple.DeviceList, err error)
103	ListMetricDefinition(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.MetricDefinitionList, err error)
104	ListMetrics(ctx context.Context, deviceName string, resourceGroupName string, managerName string, filter string) (result storsimple.MetricList, err error)
105	Patch(ctx context.Context, deviceName string, devicePatch storsimple.DevicePatch, resourceGroupName string, managerName string) (result storsimple.DevicesPatchFuture, err error)
106	ScanForUpdates(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.DevicesScanForUpdatesFuture, err error)
107}
108
109var _ DevicesClientAPI = (*storsimple.DevicesClient)(nil)
110
111// BackupScheduleGroupsClientAPI contains the set of methods on the BackupScheduleGroupsClient type.
112type BackupScheduleGroupsClientAPI interface {
113	CreateOrUpdate(ctx context.Context, deviceName string, scheduleGroupName string, scheduleGroup storsimple.BackupScheduleGroup, resourceGroupName string, managerName string) (result storsimple.BackupScheduleGroupsCreateOrUpdateFuture, err error)
114	Delete(ctx context.Context, deviceName string, scheduleGroupName string, resourceGroupName string, managerName string) (result storsimple.BackupScheduleGroupsDeleteFuture, err error)
115	Get(ctx context.Context, deviceName string, scheduleGroupName string, resourceGroupName string, managerName string) (result storsimple.BackupScheduleGroup, err error)
116	ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.BackupScheduleGroupList, err error)
117}
118
119var _ BackupScheduleGroupsClientAPI = (*storsimple.BackupScheduleGroupsClient)(nil)
120
121// ChapSettingsClientAPI contains the set of methods on the ChapSettingsClient type.
122type ChapSettingsClientAPI interface {
123	CreateOrUpdate(ctx context.Context, deviceName string, chapUserName string, chapSetting storsimple.ChapSettings, resourceGroupName string, managerName string) (result storsimple.ChapSettingsCreateOrUpdateFuture, err error)
124	Delete(ctx context.Context, deviceName string, chapUserName string, resourceGroupName string, managerName string) (result storsimple.ChapSettingsDeleteFuture, err error)
125	Get(ctx context.Context, deviceName string, chapUserName string, resourceGroupName string, managerName string) (result storsimple.ChapSettings, err error)
126	ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.ChapSettingsList, err error)
127}
128
129var _ ChapSettingsClientAPI = (*storsimple.ChapSettingsClient)(nil)
130
131// IscsiDisksClientAPI contains the set of methods on the IscsiDisksClient type.
132type IscsiDisksClientAPI interface {
133	CreateOrUpdate(ctx context.Context, deviceName string, iscsiServerName string, diskName string, iscsiDisk storsimple.ISCSIDisk, resourceGroupName string, managerName string) (result storsimple.IscsiDisksCreateOrUpdateFuture, err error)
134	Delete(ctx context.Context, deviceName string, iscsiServerName string, diskName string, resourceGroupName string, managerName string) (result storsimple.IscsiDisksDeleteFuture, err error)
135	Get(ctx context.Context, deviceName string, iscsiServerName string, diskName string, resourceGroupName string, managerName string) (result storsimple.ISCSIDisk, err error)
136	ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.ISCSIDiskList, err error)
137	ListByIscsiServer(ctx context.Context, deviceName string, iscsiServerName string, resourceGroupName string, managerName string) (result storsimple.ISCSIDiskList, err error)
138	ListMetricDefinition(ctx context.Context, deviceName string, iscsiServerName string, diskName string, resourceGroupName string, managerName string) (result storsimple.MetricDefinitionList, err error)
139	ListMetrics(ctx context.Context, deviceName string, iscsiServerName string, diskName string, resourceGroupName string, managerName string, filter string) (result storsimple.MetricList, err error)
140}
141
142var _ IscsiDisksClientAPI = (*storsimple.IscsiDisksClient)(nil)
143
144// FileServersClientAPI contains the set of methods on the FileServersClient type.
145type FileServersClientAPI interface {
146	BackupNow(ctx context.Context, deviceName string, fileServerName string, resourceGroupName string, managerName string) (result storsimple.FileServersBackupNowFuture, err error)
147	CreateOrUpdate(ctx context.Context, deviceName string, fileServerName string, fileServer storsimple.FileServer, resourceGroupName string, managerName string) (result storsimple.FileServersCreateOrUpdateFuture, err error)
148	Delete(ctx context.Context, deviceName string, fileServerName string, resourceGroupName string, managerName string) (result storsimple.FileServersDeleteFuture, err error)
149	Get(ctx context.Context, deviceName string, fileServerName string, resourceGroupName string, managerName string) (result storsimple.FileServer, err error)
150	ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.FileServerList, err error)
151	ListByManager(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.FileServerList, err error)
152	ListMetricDefinition(ctx context.Context, deviceName string, fileServerName string, resourceGroupName string, managerName string) (result storsimple.MetricDefinitionList, err error)
153	ListMetrics(ctx context.Context, deviceName string, fileServerName string, resourceGroupName string, managerName string, filter string) (result storsimple.MetricList, err error)
154}
155
156var _ FileServersClientAPI = (*storsimple.FileServersClient)(nil)
157
158// FileSharesClientAPI contains the set of methods on the FileSharesClient type.
159type FileSharesClientAPI interface {
160	CreateOrUpdate(ctx context.Context, deviceName string, fileServerName string, shareName string, fileShare storsimple.FileShare, resourceGroupName string, managerName string) (result storsimple.FileSharesCreateOrUpdateFuture, err error)
161	Delete(ctx context.Context, deviceName string, fileServerName string, shareName string, resourceGroupName string, managerName string) (result storsimple.FileSharesDeleteFuture, err error)
162	Get(ctx context.Context, deviceName string, fileServerName string, shareName string, resourceGroupName string, managerName string) (result storsimple.FileShare, err error)
163	ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.FileShareList, err error)
164	ListByFileServer(ctx context.Context, deviceName string, fileServerName string, resourceGroupName string, managerName string) (result storsimple.FileShareList, err error)
165	ListMetricDefinition(ctx context.Context, deviceName string, fileServerName string, shareName string, resourceGroupName string, managerName string) (result storsimple.MetricDefinitionList, err error)
166	ListMetrics(ctx context.Context, deviceName string, fileServerName string, shareName string, resourceGroupName string, managerName string, filter string) (result storsimple.MetricList, err error)
167}
168
169var _ FileSharesClientAPI = (*storsimple.FileSharesClient)(nil)
170
171// IscsiServersClientAPI contains the set of methods on the IscsiServersClient type.
172type IscsiServersClientAPI interface {
173	BackupNow(ctx context.Context, deviceName string, iscsiServerName string, resourceGroupName string, managerName string) (result storsimple.IscsiServersBackupNowFuture, err error)
174	CreateOrUpdate(ctx context.Context, deviceName string, iscsiServerName string, iscsiServer storsimple.ISCSIServer, resourceGroupName string, managerName string) (result storsimple.IscsiServersCreateOrUpdateFuture, err error)
175	Delete(ctx context.Context, deviceName string, iscsiServerName string, resourceGroupName string, managerName string) (result storsimple.IscsiServersDeleteFuture, err error)
176	Get(ctx context.Context, deviceName string, iscsiServerName string, resourceGroupName string, managerName string) (result storsimple.ISCSIServer, err error)
177	ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string) (result storsimple.ISCSIServerList, err error)
178	ListByManager(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.ISCSIServerList, err error)
179	ListMetricDefinition(ctx context.Context, deviceName string, iscsiServerName string, resourceGroupName string, managerName string) (result storsimple.MetricDefinitionList, err error)
180	ListMetrics(ctx context.Context, deviceName string, iscsiServerName string, resourceGroupName string, managerName string, filter string) (result storsimple.MetricList, err error)
181}
182
183var _ IscsiServersClientAPI = (*storsimple.IscsiServersClient)(nil)
184
185// JobsClientAPI contains the set of methods on the JobsClient type.
186type JobsClientAPI interface {
187	Get(ctx context.Context, deviceName string, jobName string, resourceGroupName string, managerName string) (result storsimple.Job, err error)
188	ListByDevice(ctx context.Context, deviceName string, resourceGroupName string, managerName string, filter string) (result storsimple.JobListPage, err error)
189	ListByDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string, managerName string, filter string) (result storsimple.JobListIterator, err error)
190	ListByManager(ctx context.Context, resourceGroupName string, managerName string, filter string) (result storsimple.JobListPage, err error)
191	ListByManagerComplete(ctx context.Context, resourceGroupName string, managerName string, filter string) (result storsimple.JobListIterator, err error)
192}
193
194var _ JobsClientAPI = (*storsimple.JobsClient)(nil)
195
196// StorageAccountCredentialsClientAPI contains the set of methods on the StorageAccountCredentialsClient type.
197type StorageAccountCredentialsClientAPI interface {
198	CreateOrUpdate(ctx context.Context, credentialName string, storageAccount storsimple.StorageAccountCredential, resourceGroupName string, managerName string) (result storsimple.StorageAccountCredentialsCreateOrUpdateFuture, err error)
199	Delete(ctx context.Context, credentialName string, resourceGroupName string, managerName string) (result storsimple.StorageAccountCredentialsDeleteFuture, err error)
200	Get(ctx context.Context, credentialName string, resourceGroupName string, managerName string) (result storsimple.StorageAccountCredential, err error)
201	ListByManager(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.StorageAccountCredentialList, err error)
202}
203
204var _ StorageAccountCredentialsClientAPI = (*storsimple.StorageAccountCredentialsClient)(nil)
205
206// StorageDomainsClientAPI contains the set of methods on the StorageDomainsClient type.
207type StorageDomainsClientAPI interface {
208	CreateOrUpdate(ctx context.Context, storageDomainName string, storageDomain storsimple.StorageDomain, resourceGroupName string, managerName string) (result storsimple.StorageDomainsCreateOrUpdateFuture, err error)
209	Delete(ctx context.Context, storageDomainName string, resourceGroupName string, managerName string) (result storsimple.StorageDomainsDeleteFuture, err error)
210	Get(ctx context.Context, storageDomainName string, resourceGroupName string, managerName string) (result storsimple.StorageDomain, err error)
211	ListByManager(ctx context.Context, resourceGroupName string, managerName string) (result storsimple.StorageDomainList, err error)
212}
213
214var _ StorageDomainsClientAPI = (*storsimple.StorageDomainsClient)(nil)
215